簡體   English   中英

使用C#從XML讀取數據

[英]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對象,因此將調用XmlElementToString方法,該方法返回對象名稱,因此新XML的結果為System.Xml.XmlElement而不是所需的文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM