XElement的Innertext是什么?

9

我在获取XElement的innertext中正确的值方面遇到了一些困难。以下是我使用的XML,这是我们的工作流程中某个过程产生的生产数据的副本。换句话说,我无法更改XML,只能解析它。我想要获取其innertext的元素内含有看起来像XML但实际上并不是的文本数据。该元素称为<creatorshapeutildata

Picture of XML data

以下是我尝试的代码行:

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 标签之间的确切文本?
1个回答

26

您正在尝试获取与 InnerText / Value 属性完全相反的东西:原始 XML 内容。

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接