微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 来自XElement的Innertext?

参见英文答案 > Best way to get InnerXml of an XElement?15个
我很难从XElement的innertext中获取正确的值.
首先,这是我正在使用的XML.这是我们的工作流程中的流程产生的生产数据的副本.换句话说,我无法更改XML,我只能解析它.我想要获得的innertext元素内部的数据看起来像XML,但事实并非如此.它是生成XML的工具的直接文本.该元素称为< creatorshapeutildata: 这是我尝试过的代码行:
CreatorShapeUtilData = element.Descendants("creatorshapeutildata").Single().Value;

我也试过这个:

CreatorShapeUtilData = element.Descendants("creatorshapeutildata").First().Value;

我也试过这个:

CreatorShapeUtilData = element.Element("creatorshapeutildata").Value;

不幸的是,在每种情况下返回的值如下所示:

33012-1true#FFFF003#FFFFFF2743337743358

我需要返回的值如下所示:

"<creatorData type="object"><type type="int">33012</type>..."

我正在处理的这个部分是使用XDocument,XElement等的更大程序的一部分.我知道XmlElement有一个InnerText属性,但我认为XElement没有,因为我似乎无法在Intellisense中找到它.

那么,有没有可能的方法获取creatorshapeutil标签间的确切文本?

解决方法

您试图获得与InnerText / Value属性完全相反的内容:原始XML内容.

您可以通过调用element.ToString()来获取包含外部节点的内容.

如果要排除外部标记,可以调用String.Concat(element.Nodes()).

原文地址:https://www.jb51.cc/csharp/98345.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐