JavaScript 解析 XML332


XML(可扩展标记语言)是一种标记语言,用于以结构化的格式存储和传输数据。JavaScript 是一种编程语言,可用于解析和处理 XML 文档。

解析 XML

要解析 XML 文档,可以使用以下方法:
DOM(文档对象模型):DOM 将 XML 文档表示为树形结构,其中每个节点都代表文档中的一个元素或属性。使用 DOM 可以访问和操作 XML 文档的各个部分。
SAX(简单 API for XML):SAX 是一个事件驱动的 API,它以连续的事件流解析 XML 文档。当解析器遇到文档中的元素或属性时,它会触发相应的事件,允许开发人员在事件发生时对其进行处理。
XPath(XML 路径语言):XPath 是用于在 XML 文档中查找特定节点的查询语言。使用 XPath,可以指定复杂的查询表达式来查找满足特定条件的节点。

使用 DOM 解析 XML


```javascript
// 创建一个 XML 文档解析器
var parser = new DOMParser();
// 解析 XML 文档
var xmlDoc = (xmlString, "text/xml");
// 获取根元素
var rootElement = ;
// 遍历根元素的子节点
var childNodes = ;
for (var i = 0; i < ; i++) {
var childNode = childNodes[i];
( + ": " + );
}
```

使用 SAX 解析 XML


```javascript
// 创建一个 SAX 解析器
var parser = new SAXParser();
// 注册一个事件处理程序
(new SAXHandler());
// 解析 XML 文档
(xmlString);
// SAXHandler 类定义如下:
class SAXHandler extends DefaultHandler {
startElement(uri, localName, qName, attributes) {
("开始元素:" + qName);
}
endElement(uri, localName, qName) {
("结束元素:" + qName);
}
characters(ch, start, length) {
("字符数据:" + (start, start + length));
}
}
```

使用 XPath 解析 XML


```javascript
// 创建一个 XPath 表达式对象
var xpath = new XPathEvaluator();
// 使用 XPath 表达式查找节点
var nodes = ("//book/title", xmlDoc, null, XPathResult.ANY_TYPE, null);
// 遍历找到的节点
var result = ();
while (result) {
();
result = ();
}
```

创建 XML

除了解析 XML,JavaScript 还可以使用 DOM 或 XMLSerializer API 创建 XML 文档。

使用 DOM 创建 XML


```javascript
// 创建一个新的 XML 文档
var doc = (null, null, null);
// 创建根元素
var rootElement = ("book");
(rootElement);
// 创建子元素
var titleElement = ("title");
= "JavaScript 入门";
(titleElement);
// 创建属性
var authorAttribute = ("author");
= "John Doe";
(authorAttribute);
// 将 XML 文档转换为字符串
var xmlString = (new XMLSerializer()).serializeToString(doc);
```

使用 XMLSerializer 创建 XML


```javascript
// 创建一个新的 XML 文档
var doc = new XMLDocument();
// 创建根元素
var rootElement = ("book");
// 创建子元素
var titleElement = ("title");
= "JavaScript 入门";
// 创建属性
var authorAttribute = ("author");
= "John Doe";
// 将子元素和属性添加到根元素
(titleElement);
(authorAttribute);
// 将根元素添加到文档中
(rootElement);
// 将 XML 文档转换为字符串
var xmlString = (new XMLSerializer()).serializeToString(doc);
```

JavaScript 提供了多种方法来解析和创建 XML 文档。通过使用 DOM、SAX 或 XPath,开发人员可以访问和操作 XML 文档的各个部分。此外,可以使用 DOM 或 XMLSerializer API 创建新的 XML 文档。

2025-01-14


上一篇:JavaScript 中的 this 和 self

下一篇:JavaScript new Date() 方法详解