asp.net xml檔案讀取
<?xml version="1.0" encoding="utf-8" ?>
<People>
<person id="1" dep="行政">
<name>Jason</name>
<mobile>0911222333</mobile>
</person>
<person id="2" dep="財務">
<name>Amy</name>
<mobile>0922456333</mobile>
</person>
<person id="3" dep="資訊">
<name>Alex</name>
<mobile>0945886333</mobile>
</person>
</People>
一個簡單的XML檔案
紅標處是給予一個person屬性(應該是這樣講?
讀取要用 xmlReader.GetAttribute("id");
其餘正常的地方就是以xmlReader.ReadString()讀取即可
XmlReader xmlReader = XmlReader.Create(htmlFileUpload.Value.ToString());
while (xmlReader.Read())
{
if (xmlReader.IsStartElement())
{
switch (xmlReader.Name.ToString())
{
case "person":
xmlReader.GetAttribute("id")
break;
case "name":
xmlReader.ReadString()
break;
case "mobile":
break;
}
}
}
參考 https://blog.xuite.net/xiaolian/blog/list-view/58706701
https://www.itread01.com/article/1464052456.html
後續理解
讀取XML方法
XmlDocument myDoc = new XmlDocument();
依照 XML的欄位設定,可以這樣理解
<step1-a>
<step2-a>
<v1>123</v1>
<v2>456</v2>
</step2-a>
<step2-b>
...
</step2-b>
</step1-a>
是一層一層的下去的,XML是以list作為結構,裡面擺放XmlNode
因此List1也就是step1-a,List2則包含了step2-a和step2-b
因此要抓到第一層的資料
會是以 myDoc.SelectNodes 會抓到一個陣列,是以0當作起始
myDoc.SelectNodes("step1-a")[0] 抓取第一個step1-a 裡面有step2-a
就可以用 myDoc.SelectNodes("step1-a")[0].SelectNodes("step2-a") 抓取到目標List
接著假如要抓取step2-a裡面的值的話則可以使用
SelectSingleNode("v1") 抓取到值 值是node
留言
張貼留言