C# 从XML InnerXML手动检索值

C# 从XML InnerXML手动检索值,c#,xml,C#,Xml,我一直在尝试将InnerXML反序列化到一个类中,由于某种原因,XML一直在改变形状,而无论我多少次尝试使类正确,它似乎再次改变形状 所以我放弃了,决定尝试另一种方法 是否可以使用c#手动检索InnerXML中的参数值 例如,我的XML innerXML如下所示: <Timestamp>2014-08-22T21:45:00Z</Timestamp> <Subscriber>https://www.dogdoza.co.uk</Subscriber>

我一直在尝试将InnerXML反序列化到一个类中,由于某种原因,XML一直在改变形状,而无论我多少次尝试使类正确,它似乎再次改变形状

所以我放弃了,决定尝试另一种方法

是否可以使用c#手动检索InnerXML中的参数值

例如,我的XML innerXML如下所示:

<Timestamp>2014-08-22T21:45:00Z</Timestamp>
<Subscriber>https://www.dogdoza.co.uk</Subscriber>
<Order>
  <OrderID>111867</OrderID>
  <InvoiceNumber>DOZA-9725410</InvoiceNumber>
  <CustomerID>4542</CustomerID>
2014-08-22T21:45:00Z
https://www.dogdoza.co.uk
111867
DOZA-9725410
4542
有没有可能提取订户的价值

如果这是可能的,我可以手动拉出我想要的值。不理想,但只有大约10个

我环顾四周,但没有找到任何我可以使用的代码

有人能给我一些指导吗


谢谢

您可以通过以下方式实现您的目标:

按文档顺序返回此文档或元素的子元素集合。此方法将返回一个
IEnumerable
,因为可能有多个“Subscriber”元素,但在您的情况下,我们选择返回第一次出现的元素。

尝试将XML转换为。然后尝试使用查找所需的特定值

可能需要将内部xml封装到根元素中,因为它不接受多个根

伪示例:

// set up your xml document
string xml = "<rootelement>" + myInnerXml + "</rootelement>";
XDocument doc = new XDocument();
doc.Parse(xml);

XElement subscriber = doc.XPathSelectElement("/rootelement/Subscriber");
string value = subscriber.Value;
//设置xml文档
字符串xml=“”+myInnerXml+”;
XDocument doc=新XDocument();
文档解析(xml);
XElement subscriber=doc.XPathSelectElement(“/rootelement/subscriber”);
字符串值=subscriber.value;
// set up your xml document
string xml = "<rootelement>" + myInnerXml + "</rootelement>";
XDocument doc = new XDocument();
doc.Parse(xml);

XElement subscriber = doc.XPathSelectElement("/rootelement/Subscriber");
string value = subscriber.Value;