> 백엔드 개발 > XML/RSS 튜토리얼 > Xml의 Linq는 저장된 데이터를 어떻게 탐색합니까?

Xml의 Linq는 저장된 데이터를 어떻게 탐색합니까?

PHPz
풀어 주다: 2017-04-23 16:40:57
원래의
2105명이 탐색했습니다.

Xml 파일을 사용해야 할 경우가 많은데 Xml 파일이 무엇인가요?

예를 들어 설명하겠습니다. testResult.xml 파일

<?xml version="1.0" encoding="utf-8" ?>
<Columns>
  <column id="序号">
    <name>序号</name>
  </column>
  <column id="检验项目">
    <name>检验项目</name>
  </column>
  <column id="单位">
    <name>单位</name>
  </column>
  <column id="标准要求">
    <name>标准要求</name>
  </column>
  <column id="检验结果">
    <name>检验结果</name>
  </column>
  <column id="结论">
    <name>结论</name>
  </column>
</Columns>
로그인 후 복사

위는 Xml 파일이 데이터를 저장하는 데 사용된다는 것을 알고 있습니다. , 그렇다면 이 데이터를 어떻게 탐색할까요?

사실 가장 간단한 방법은 Linq를 사용하는 것입니다.

   private void GetTestResultXml()
    {
        List<string> iTestResultXml=new List<string>();
        //定义并从xml文件中加载节点(根节点)
        XElement rootNode = XElement.Load(@"..\..\Xml\testResult.xml");   
        //查询语句: 获得根节点下name子节点(此时的子节点可以跨层次:孙节点、重孙节点......)
        IEnumerable<XElement> targetNodes = from target in rootNode.Descendants("column")
                                            select target;
        foreach (XElement node in targetNodes)
        {
            iTestResultXml.Add(node.Value);
        }
    }
로그인 후 복사

이런 방법으로 태그의 모든 데이터를 가져와서 iTestResultXml을 나열합니다.

testResult.xml 파일에서 태그가 자체 ID를 설정하는 것을 볼 수 있으며, 이 ID는 해당 데이터가 아니라 해당 속성 중 하나입니다.

그래서 태그의 내용 대신 속성을 얻으려면 어떻게 해야 할까요?

private void GetTestResultXml()
    {
        List<string> iXmlID = new List<string>();
        //定义并从xml文件中加载节点(根节点)
        XElement rootNode = XElement.Load(@"..\..\Xml\testResult.xml");   
        //查询语句: 获得根节点下name子节点(此时的子节点可以跨层次:孙节点、重孙节点......)
        IEnumerable<XElement> targetNodes = from target in rootNode.Descendants("column")
                                            select target;
        foreach (XElement node in targetNodes)
        {
             iXmlID.Add(node.Attribute("id").Value);   //获取指定属性的方法
        }
    }
로그인 후 복사

이런 방식으로 태그에 있는 id 속성의 목록 iXmlID를 얻습니다.

위 내용은 Xml의 Linq는 저장된 데이터를 어떻게 탐색합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿