如何检查XElement是否具有Record&INVID属性?
我的函数仅返回单个XElement。 IE,

<INVENTORY>
  <Record>
    <INVID>1315</INVID>
    <INVNAME>TEST LOCATIONTEST</INVNAME>
    <HOSPNAME>TEST LOCATION</HOSPNAME>
    <INVTYPE>CLINICAL</INVTYPE>
    <INVDT>2013-09-30T09:30:00</INVDT>
    <INVDEF>YES</INVDEF>
    <INVACT>YES</INVACT>
    <UPDDTTM />
    <UPDUSR />
    <ENBREF>true</ENBREF>
    <INVPWD>101315</INVPWD>
  </Record>
</INVENTORY>


XElement xInventory = GetDefaultInventory();
bool hasInventory = xInventory.Elements("INVID").Any();  //What to do here ?

if (hasInventory)
{
    //TO DO Some action
}

最佳答案

如果要检查 list 元素是否具有Record元素以及INVID子元素,则可以使用XPath:

XElement inventory = GetDefaultInventory();
XElement invid = inventory.XPathSelectElement("Record/INVID");
if (invid == null)
    // not exist

还是LINQ方式:
bool exists = inventory.Elements("Record").Elements("INVID").Any();

关于c# - 检查XElement(Record)是否存在?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21205314/

10-10 13:04