Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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
C# 我想使用.InnerText,但它显示节点的文本+;子节点的所有文本。内例_C#_Xml - Fatal编程技术网

C# 我想使用.InnerText,但它显示节点的文本+;子节点的所有文本。内例

C# 我想使用.InnerText,但它显示节点的文本+;子节点的所有文本。内例,c#,xml,C#,Xml,假设我有以下XML: <ID>123 <Name>ABC</Name> <Age>30</Age> </ID> 123 基础知识 30 我想要像.InnerText这样只显示123而不是123 ABC 30的内容。您可以使用Linq2Xml var xDoc = XDocument.Load(filename); var idtext = xDoc.XPathSelectE

假设我有以下XML:

    <ID>123
        <Name>ABC</Name>
        <Age>30</Age>
    </ID>
123
基础知识
30
我想要像.InnerText这样只显示123而不是123 ABC 30的内容。您可以使用Linq2Xml

var xDoc = XDocument.Load(filename);
var idtext = xDoc.XPathSelectElement("//ID")
            .Nodes()
            .OfType<XText>()
            .FirstOrDefault()?.Value.Trim();

可能的副本请你解释一下好吗?@Forenkazan哪部分特别重要?
var idtext = xDoc.XPathSelectElement("//ID")
            .FirstNode
            .ToString().Trim();