[英]Reading data from XML using C#
我必須從以下XML文件中讀取訂單文本(“這是示例文本”):
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<order id="">
<users>
<user id="123456" nick="nick" done="false" />
</users>
<machines>
<machine id="1234" sd="1234" ref="" done="false" />
</machines>
<todos />
<ordertexts>
<ordertext>This is an example text </ordertext>
</ordertexts>
</order>
我的C#代碼如下所示:
XmlDocument xDoc = new XmlDocument();
xDoc.Load(file);
XmlElement node = (XmlElement)xDoc.SelectSingleNode("/order/ordertexts/ordertext");
當我將所選數據寫入另一個XML文件時,它看起來像這樣:
<order>
<oldOrderText>System.Xml.XmlElement</oldOrderText>
</order>
我做錯了什么? XPath不正確嗎?
我是C#新手,所以我真的需要我能獲得的所有幫助!
在此先感謝,geibi
您正在尋找的是XmlElement.InnerText 。
當您使用此節點時:
XmlElement node = (XmlElement)xDoc.SelectSingleNode("/order/ordertexts/ordertext");
您仍然需要使用以下命令:
string neededText = node.InnerText;
獲得該節點的值。
假設您正在控制台應用程序中編寫結果。 如果您嘗試編寫node
變量,可以這樣:
Console.WriteLine(node);
由於node
不是字符串,而是XmlElement
對象,因此將調用XmlElement
的ToString
方法,該方法返回對象名稱,因此新XML的結果為System.Xml.XmlElement
而不是所需的文本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.