gpt4 book ai didi

c# - 当只有我知道它的后代时,在 XPATH 中获取一个值?

转载 作者:数据小太阳 更新时间:2023-10-29 02:58:41 24 4
gpt4 key购买 nike

想象一个像这样的 xml 文件:

<Document>
<Tests>
<Test>
<Name>A</Name>
<SubTest>
<Test>
<Name>B</Name>
<Value>100</Value>
</Test>
</SubTest>
</Test>
<Test>
<Name>C</Name>
<SubTest>
<Test>
<Name>D</Name>
<Value>200</Value>
</Test>
</SubTest>
</Test>
</Tests>
</Document>

我使用一种方法来访问 B 值,但我还需要获取名称 A,但我现在只获取该值 B 存在于我的 XML 文件中(docXmlDocument):

public class TestData
{
public string Parent {get;set;}
public string Name {get; set;}
public int Value {get;set;}
}

private TestData GetResult(string name)
{
TestData data = new TestData();
data.Name = name;
data.Value =
int.Parse(doc.SelectSingleNode("Document/Tests/Test/SubTest/Test[Name = '" + name + "']/Value").InnerText);

data.Parent = null; //How can I get string A using the above xpath

return data;
}

那么,问题来了,如何在上述方法中访问A

最佳答案

您可以使用这个 XPath:

Document/Tests/Test[SubTest/Test/Name = 'B']/Name

或:

var nodeTest = 
doc.SelectSingleNode("Document/Tests/Test[SubTest/Test/Name = 'B']");

var name = nodeTest.SelectSingleNode("Name").InnerText;
var value = nodeTest.SelectSingleNode("SubTest/Test/Value").InnerText;

关于c# - 当只有我知道它的后代时,在 XPATH 中获取一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8204089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com