我很难从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没有,因为我似乎无法找到它智能感知。
那么,有没有办法在creatorshapeutil
标签之间抓取确切的文字?
答案 0 :(得分:20)
您尝试与InnerText
/ Value
属性完全相反:原始XML内容。
您可以通过调用element.ToString()
来获取包含外部节点的内容。
如果要排除外部标记,可以调用String.Concat(element.Nodes())
。