[英]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.