Как я могу получить значения CfgGroup/DBID, если мой агент значения агентаDBIDs/DBID = 103?Как фильтровать данные Xml в XmlDocument
<?xml version="1.0" encoding="Windows-1252"?>
<ConfData>
<CfgAgentGroup>
<CfgGroup>
<DBID value="109" />
<tenantDBID value="1" />
<name value="group1" />
<contractDBID value="0" />
</CfgGroup>
<agentDBIDs>
<DBID value="103" />
<DBID value="994" />
</agentDBIDs>
</CfgAgentGroup>
<CfgAgentGroup>
<CfgGroup>
<DBID value="110" />
<tenantDBID value="1" />
<name value="group2" />
<contractDBID value="0" />
</CfgGroup>
<agentDBIDs>
<DBID value="102" />
<DBID value="103" />
<DBID value="1009" />
<DBID value="1010" />
<DBID value="1011" />
<DBID value="1012" />
<DBID value="1013" />
<DBID value="1014" />
<DBID value="1015" />
<DBID value="1016" />
<DBID value="1017" />
<DBID value="1018" />
<DBID value="1019" />
<DBID value="1020" />
</agentDBIDs>
</CfgAgentGroup>
</ConfData>
Я могу фильтровать значение agentDBIDs/DBID, но я понятия не имею, как получить его значение CfgGroup/DBID. Это то, что я сделал до сих пор:
XmlNodeList nodeList = AllAgentGroupXML.SelectNodes("/ns:ConfData/ns:CfgAgentGroup/ns:agentDBIDs/ns:DBID", nsMgr);
foreach (XmlNode abc in nodeList)
{
if (abc.Attributes["value"].Value.ToString() == "103")
Console.WriteLine(abc.Attributes["value"].Value.ToString());
}
* Примечание: нс = пространство имен, nsMgr = XmlNamespaceManager
Update:
Используйте тот же XML, как указано выше, есть какие-то способы для поиска значения конкретного агентаDBID/DBID и возврата его значения CfgGroup/DBID? Как насчет использования предложения where
?
Update2: Исходя из вышеизложенного XML, как я могу получить часть данных XML ниже, если мой поиск значение = 994 (со ссылкой на agentDBIDs/значение DBID)?
<CfgAgentGroup>
<CfgGroup>
<DBID value="109" />
<tenantDBID value="1" />
<name value="group1" />
<contractDBID value="0" />
</CfgGroup>
<agentDBIDs>
<DBID value="103" />
<DBID value="994" />
</agentDBIDs>
</CfgAgentGroup>
Любые идеи?
чем проблема, если вы используете один и тот же путь, просто разные XPath: '/ нс: ConfData/нс: CfgAgentGroup/нс: CfgGroup/нс: DBID' – har07
Привет @ har07, нет значения – YWah
я не см. любое пространство имен в вашем XML. Вам не нужен префикс 'ns' и' XmlNamespaceManager'. –