題注:
最近一直在搞xml,這次記錄下c#解析xml的過程,個人覺得相對tinyxml還是c#自帶的xmldocument更好用。
ctrl + shift + n 建立乙個命令控制台專案 xmltest
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.xml; //c#自帶的xml解析類
namespace xmltest
}}
在程式位置找到生成的xml文件:
<?xml version="1.0" encoding="utf-8"?>
xmlns
="www.workshop.com"
>
>
>
fanucmanufacturer
>
units
="$"
>
20000price
>
device1
>
>
>
mazacmanufacturer
>
units
="$"
>
20000price
>
device2
>
devices
>
很顯然生成的xml很簡單,但是上面用**去建立xml的過程很繁瑣,不過可以看出來通過**來建立xml具有動態性,可以根據自己需要的東西來動態建立xml文件,當然在實際的使用過程中,建立的過程主要和框架設計有關,像上面比價重複的東西都可以提取到乙個函式中去,或者根據自定義的資料結構去格式化xml文件。
現在我們有了workshop.xml,我們通過xml解析器去讀取修改xml文件中的內容,在這個過程中我們將使用xpath來定位xml中的資料。
源xml文件:
<?xml version="1.0" encoding="utf-8"?>
xmlns:m
="localtest"
xmlns
="localtest"
>
>
>
>
5axes
>
>
30theight
>
info
>
country
="jap"
>
fanucmanufacturer
>
>
50000price
>
device
>
>
>
>
40axes
>
>
30theight
>
info
>
country
="cn"
>
jdmanufacturer
>
>
50000price
>
device
>
>
>
>
15axes
>
>
30theight
>
info
>
country
="cn"
>
jdmanufacturer
>
>
50000price
>
device
>
>
>
>
8axes
>
>
20theight
>
info
>
country
="gem"
>
dmgmanufacturer
>
>
50000price
>
device
>
devices
>
workshop.xml是乙個簡單的用於描述車間裡使用裝置範例的xml文件。在c#中通過xpath來定位price節點
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.xml; // c#自帶的xml解析類
using system.io; // stringwriter使用
namespace xmltest
:manufacturer", prefix );
xmlnodelist xnodelist = xdoc.selectnodes(sxpath, xnamespacemanager);
string m = tostring(xnodelist);
// 結果寫到檔案裡
filestream f = file.openwrite("output.xml");
byte byts = system.text.encoding.default.getbytes( m );
f.write(byts, 0, byts.length);
f.close();
} public static string tostring(xmlnodelist xmlnodelist)
return stringwriter.tostring();
}}}
篩選結果output.xml:
fanuc
jdjd
dmg
C XML解析方式例項解析
c xml解析通過xpath的方式是如何辦到的呢?具體的操作步驟是什麼呢?那麼下面我們就向你介紹通過xpath的方式來實現c xml解析,希望對你了解c xml解析有所幫助。c xml解析通過xpath的方式的步驟 1 需要先載入文件,然後再讀取想要的節點值。xml文件 protected xmld...
C XML解析方式例項解析
c xml解析通過xpath的方式是如何辦到的呢?具體的操作步驟是什麼呢?那麼下面我們就向你介紹通過xpath的方式來實現c xml解析,希望對你了解c xml解析有所幫助。c xml解析通過xpath的方式的步驟 1 需要先載入文件,然後再讀取想要的節點值。xml文件 protected xmld...
C XML解析方式例項解析1
c xml解析通過xpath的方式是如何辦到的呢?具體的操作步驟是什麼呢?那麼下面我們就向你介紹通過xpath的方式來實現c xml解析,希望對你了解c xml解析有所幫助。c xml解析通過xpath的方式的步驟 1 需要先載入文件,然後再讀取想要的節點值。xml文件 protected xmld...