c语言编程笔录

您现在的位置是:首页 > 编程 > 编程经验

编程经验

xml字符串的10篇文章推荐

吕致盈 2023-07-10编程经验
XML简介XML是一种标记语言,其标签可自定义,所以非常适合用于传递各种类型的数据。以下是一些关于XML的文章,以及如何使用XML处理数据。张三28

XML简介

XML是一种标记语言,其标签可自定义,所以非常适合用于传递各种类型的数据。以下是一些关于XML的文章,以及如何使用XML处理数据。

<xml>
  <person>
    <name>张三</name>
    <age>28</age>
    <gender>男</gender>
  </person>
  <person>
    <name>李四</name>
    <age>32</age>
    <gender>女</gender>
  </person>
</xml>

XML VS JSON

XML和JSON都可以用于传递数据,但是它们有一些区别。以下是一些关于XML和JSON的文章,以及如何在它们之间进行转换。

{
  "person": [
    {
      "name": "张三",
      "age": 28,
      "gender": "男"
    },
    {
      "name": "李四",
      "age": 32,
      "gender": "女"
    }
  ]
}

使用DOM解析XML

使用DOM解析XML可以让我们轻松地遍历XML文档的内容。以下是一些关于使用DOM解析XML的文章,以及示例代码。

<script>
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      var xmlDoc = this.responseXML;
      var persons = xmlDoc.getElementsByTagName("person");
      for (var i = 0; i < persons.length; i++) {
        var name = persons[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;
        var age = persons[i].getElementsByTagName("age")[0].childNodes[0].nodeValue;
        var gender = persons[i].getElementsByTagName("gender")[0].childNodes[0].nodeValue;
        console.log(name + "," + age + "岁," + gender);
      }
    }
  };
  xhttp.open("GET", "file.xml", true);
  xhttp.send();
</script>

使用SAX解析XML

使用SAX解析XML是一种事件驱动的方式,它允许我们在解析XML文档的过程中执行一些操作。以下是一些关于使用SAX解析XML的文章,以及示例代码。

class MyHandler extends DefaultHandler {
  private String currentElement = "";//当前元素
  private Map person = new HashMap();//存储person
  private String key;//当前person的key

  public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
    currentElement = qName;
    if (currentElement.equals("person")) {
      key = attributes.getValue("id");
    }
  }

  public void endElement(String uri, String localName, String qName) throws SAXException {
    if (qName.equals("person")) {
      System.out.println(person);
      person.clear();
    }
  }

  public void characters(char[] ch, int start, int length) throws SAXException {
    String value = new String(ch, start, length);
    if (value.trim().length() > 0) {
      person.put(currentElement, value);
    }
  }
}

文章评论