Как выбрать определенный дочерний XML с данным атрибутом в наборе данных C # / Dataview - PullRequest
0 голосов
/ 25 мая 2018

У меня есть этот код, который получает все узлы в простом XML со структурой, такой как:

XML:

<parent>
    <child>
    </child>
</parent>

Код:

private DataView dataGet() {
    DataView functionReturnValue = null;

    DataSet dsListing = new DataSet();
    dsListing.ReadXml(MapPath("~/pathToXml.xml"));
    DataView dvListing = dsListing.Tables[0].DefaultView;
    functionReturnValue = dvListing;

    return functionReturnValue;
    //This returns all child and I need 
}

Я использовал XPath в разных частях кода для выбора более глубоких узлов с такими атрибутами, как:

 xmlSource.XPath = "parent/child/node[@id='" + Convert.ToString(CategoryID) + "']/DeepNode";

ИЛИ

 xmlSource.XPath = "parent/child/node[@attribute='True']";

Какчтобы выбрать конкретный узел XML с данным атрибутом из xml, как показано выше для dataGet ():

<parent>
    <child> 
        <node id="1" attribute="True">
        </node >
        <node id="2" attribute="False">
        </node >
    </child>
</parent>
...