标签: xpathnodeiterator

如何使用XPathNavigator并返回不同的节点?

我有一个像这样的XML文件:

<Document>
   <Tests>
      <Test>
         <Name>A</Name>
         <Value>0.01</Value>
         <Result>Pass</Result>
      </Test>
      <Test>
         <Name>A</Name>
         <Value>0.02</Value>
         <Result>Pass</Result>
      </Test>
      <Test>
         <Name>B</Name>
         <Value>1.01</Value>
         <Result>Fail</Result>
      </Test>
      <Test>
         <Name>B</Name>
         <Value>0.01</Value>
         <Result>Pass</Result>
      </Test>
   </Tests>
</Document>
Run Code Online (Sandbox Code Playgroud)

还有一个用于保存每个测试数据的类:

public class TestData
{
   public string TestName {get; set;}
   public int TestPositon {get; set;} //Position of Test node in XML file
   public string TestValue {get; set;}
   public string TestResult {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

现在我正在使用此代码将所有Test放入 List<TestData>

doc = new XPathDocument(filePath);
nav = doc.CreateNavigator();

private List<TestData> GetAllTestData()    
 {


    List<TestData> Datas = new List<TestData>();
    TestData testData;

    XPathNodeIterator it …
Run Code Online (Sandbox Code Playgroud)

.net c# xml xpath xpathnodeiterator

3
推荐指数
1
解决办法
7853
查看次数

XPathNodeIterator从迭代数据访问子节点

<?xml version="1.0"?>

-<bookstore>            
        <book > 
            <title>aaaa</title> 
            -<author > 
                <first-name>firts</first-name> 
                <last-name>last</last-name> 
            </author> 
            <price>8.23</price> 
            <otherbooks>
                    <book > 
                        <title>bbb</title>      
                        <price>18.23</price> 
                    </book>     
                    <book > 
                        <title>ccc</title>      
                        <price>11.22</price> 
                    </book>     
            </otherbooks>
        </book> 
</bookstore>
Run Code Online (Sandbox Code Playgroud)

我从xml文件中选择了所有书籍.如何使用XPath为每本书选择标题,作者(名字和姓氏)和价格?

xPathDoc = new XPathDocument(filePath);
xPathNavigator = xPathDoc.CreateNavigator();
XPathNodeIterator xPathIterator = xPathNavigator.Select("/bookstore//book");
foreach (XPathNavigator book in xPathIterator)
{
    ??
}
Run Code Online (Sandbox Code Playgroud)

c# xml xpath xpathnodeiterator

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×2

xml ×2

xpath ×2

xpathnodeiterator ×2

.net ×1