Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 仅获取xml节点的文本_.net_Xml - Fatal编程技术网

.net 仅获取xml节点的文本

.net 仅获取xml节点的文本,.net,xml,.net,Xml,我有以下xml: <root> <sub>maintext1 <subsub>subtext1</subsub> <subsub>subtext2</subsub> </sub> </root> 主文本1 潜台词1 潜台词2 我最初尝试了.Value,但这返回了sub中的所有内容,然后.ToS

我有以下xml:

    <root>      
      <sub>maintext1
        <subsub>subtext1</subsub>
        <subsub>subtext2</subsub>
      </sub>          
    </root>

主文本1
潜台词1
潜台词2

我最初尝试了.Value,但这返回了sub中的所有内容,然后.ToString也执行相同的操作。我搜索了一个解决方案,但everywhere都使用了xmlElement.InnerText,但我需要它用于xElement,因为xElement不可用。如何使用xElement的内部文本属性?

maintext1
创建一个文本节点,您可以执行以下操作:

var xml=@”
主文本1
潜台词1
潜台词2
";
var doc=XDocument.Parse(xml);
var txt=(IEnumerable)doc.xpatheevalue(“/root/sub/text()”;
var textNode=(XText)txt.First();
Console.WriteLine(textNode.Value);
请注意,需要导入以下名称空间才能编译此文件:

使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Xml.Linq;
使用System.Xml.XPath;

通过在
节点
方法的返回值上使用
of type
Linq扩展,可以获取特定类型的
元素
的所有节点

XElement.Nodes().OfType<XText>()
类型()的XElement.Nodes() 这个例子得到了你想要的价值,我认为:

var xml = 
    @"<root>      
       <sub>maintext1
        <subsub>subtext1</subsub>
        <subsub>subtext2</subsub>
       </sub>          
      </root>";
var xel = XElement.Parse(xml);
var textNodes = xel.Element("sub").Nodes().OfType<XText>();
var mainText1 = textNodes.First().Value;
var-xml=
@"      
主文本1
潜台词1
潜台词2
";
var xel=XElement.Parse(xml);
var textNodes=xel.Element(“sub”).Nodes().OfType();
var mainText1=textNodes.First().Value;

@sll和lazyberezovsky,为什么这个xml无效,为什么节点和元素之间不能有
maintext1。
?它似乎是一个完全有效的xml。我可能错了。请提供参考。同意,此XML是有效的,并且解析良好。可能是重复的。请为确认我错了而道歉