如何通过linq选择元素到xml

时间:2012-08-26 15:43:31

标签: c# xml linq-to-xml

如何通过linq to xml

从此xml文件中选择ipport个元素
<?xml version="1.0" encoding="utf-8"?>
<settings>
  <IncomingConfig>
    <ip>10.100.101.18</ip>
    <port>5060</port>
  </IncomingConfig>
  <Device>
    <username>tarek</username>
    <AgentName>tarek</AgentName>
    <password>ffff</password>

  </Device>
  <Device>
    <username>adf</username>
    <AgentName>adf</AgentName>
    <password>fadsf</password>

  </Device>
</settings>

我编写此代码但无法正常工作

            XDocument doc = XDocument.Load(CONFIGURATION_FULL_PATH);
            var port = int.Parse(doc.XPathSelectElement("port").Value);
            var localIpAdres = doc.XPathSelectElement("ip").Value;

2 个答案:

答案 0 :(得分:1)

如果您已将文件加载到doc变量中,则只需

string localIpAddress = doc.Root.Element("IncomingConfig").Element("ip").Value;
string port = doc.Root.Element("IncomingConfig").Element("port").Value;

答案 1 :(得分:0)

尝试

doc.XPathSelectElement("//port").Value

参数必须是XPath表达式。