Files
hustoj/web/python-docs/library/xml.dom.html
2025-03-09 17:10:56 +08:00

1117 lines
100 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh_CN">
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>xml.dom --- 文档对象模型 API &#8212; Python 3.8.20 文档</title><meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<script src="../_static/translations.js"></script>
<script src="../_static/sidebar.js"></script>
<link rel="search" type="application/opensearchdescription+xml"
title="在 Python 3.8.20 文档 中搜索"
href="../_static/opensearch.xml"/>
<link rel="author" title="关于这些文档" href="../about.html" />
<link rel="index" title="索引" href="../genindex.html" />
<link rel="search" title="搜索" href="../search.html" />
<link rel="copyright" title="版权所有" href="../copyright.html" />
<link rel="next" title="xml.dom.minidom --- 最小化的 DOM 实现" href="xml.dom.minidom.html" />
<link rel="prev" title="xml.etree.ElementTree --- ElementTree XML API" href="xml.etree.elementtree.html" />
<link rel="canonical" href="https://docs.python.org/3/library/xml.dom.html" />
<style>
@media only screen {
table.full-width-table {
width: 100%;
}
}
</style>
<link rel="shortcut icon" type="image/png" href="../_static/py.svg" />
<script type="text/javascript" src="../_static/copybutton.js"></script>
<script type="text/javascript" src="../_static/menu.js"></script>
</head>
<body>
<div class="mobile-nav">
<input type="checkbox" id="menuToggler" class="toggler__input" aria-controls="navigation"
aria-pressed="false" aria-expanded="false" role="button" aria-label="Menu" />
<label for="menuToggler" class="toggler__label">
<span></span>
</label>
<nav class="nav-content" role="navigation">
<a href="https://www.python.org/" class="nav-logo">
<img src="../_static/py.svg" alt="Logo"/>
</a>
<div class="version_switcher_placeholder"></div>
<form role="search" class="search" action="../search.html" method="get">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" class="search-icon">
<path fill-rule="nonzero"
d="M15.5 14h-.79l-.28-.27a6.5 6.5 0 001.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 00-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 005.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" fill="#444"></path>
</svg>
<input type="text" name="q" aria-label="快速搜索"/>
<input type="submit" value="转向"/>
</form>
</nav>
<div class="menu-wrapper">
<nav class="menu" role="navigation" aria-label="main navigation">
<div class="language_switcher_placeholder"></div>
<h3><a href="../contents.html">目录</a></h3>
<ul>
<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.dom</span></code> --- 文档对象模型 API</a><ul>
<li><a class="reference internal" href="#module-contents">模块内容</a></li>
<li><a class="reference internal" href="#objects-in-the-dom">DOM 中的对象</a><ul>
<li><a class="reference internal" href="#domimplementation-objects">DOMImplementation 对象</a></li>
<li><a class="reference internal" href="#node-objects">节点对象</a></li>
<li><a class="reference internal" href="#nodelist-objects">节点列表对象</a></li>
<li><a class="reference internal" href="#documenttype-objects">文档类型对象</a></li>
<li><a class="reference internal" href="#document-objects">文档对象</a></li>
<li><a class="reference internal" href="#element-objects">元素对象</a></li>
<li><a class="reference internal" href="#attr-objects">Attr 对象</a></li>
<li><a class="reference internal" href="#namednodemap-objects">NamedNodeMap 对象</a></li>
<li><a class="reference internal" href="#comment-objects">注释对象</a></li>
<li><a class="reference internal" href="#text-and-cdatasection-objects">Text 和 CDATASection 对象</a></li>
<li><a class="reference internal" href="#processinginstruction-objects">ProcessingInstruction 对象</a></li>
<li><a class="reference internal" href="#exceptions">异常</a></li>
</ul>
</li>
<li><a class="reference internal" href="#conformance">一致性</a><ul>
<li><a class="reference internal" href="#type-mapping">类型映射</a></li>
<li><a class="reference internal" href="#accessor-methods">访问器方法</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h4>上一个主题</h4>
<p class="topless"><a href="xml.etree.elementtree.html"
title="上一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.etree.ElementTree</span></code> --- ElementTree XML API</a></p>
<h4>下一个主题</h4>
<p class="topless"><a href="xml.dom.minidom.html"
title="下一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.dom.minidom</span></code> --- 最小化的 DOM 实现</a></p>
<div role="note" aria-label="source link">
<h3>本页</h3>
<ul class="this-page-menu">
<li><a href="../bugs.html">报告 Bug</a></li>
<li>
<a href="https://github.com/python/cpython/blob/3.8/Doc/library/xml.dom.rst"
rel="nofollow">显示源代码
</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
<div id="outdated-warning" style="padding: .5em; text-align: center; background-color: #FFBABA; color: #6A0E0E;">
这个文档所针对的是一个已不再受支持的 Python 旧版本。
你应当升级版本,并阅读
<a href="/3/library/xml.dom.html"> Python 当前稳定版本的文档</a>.
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>导航</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="总目录"
accesskey="I">索引</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python 模块索引"
>模块</a> |</li>
<li class="right" >
<a href="xml.dom.minidom.html" title="xml.dom.minidom --- 最小化的 DOM 实现"
accesskey="N">下一页</a> |</li>
<li class="right" >
<a href="xml.etree.elementtree.html" title="xml.etree.ElementTree --- ElementTree XML API"
accesskey="P">上一页</a> |</li>
<li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="https://www.python.org/">Python</a> &#187;</li>
<li class="switchers">
<div class="language_switcher_placeholder"></div>
<div class="version_switcher_placeholder"></div>
</li>
<li>
</li>
<li id="cpython-language-and-version">
<a href="../index.html">3.8.20 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" >Python 标准库</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="markup.html" accesskey="U">结构化标记处理工具</a> &#187;</li>
<li class="right">
<div class="inline-search" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="快速搜索" aria-label="快速搜索" type="text" name="q" />
<input type="submit" value="转向" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
|
</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-xml.dom">
<span id="xml-dom-the-document-object-model-api"></span><h1><a class="reference internal" href="#module-xml.dom" title="xml.dom: Document Object Model API for Python."><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.dom</span></code></a> --- 文档对象模型 API<a class="headerlink" href="#module-xml.dom" title="永久链接至标题"></a></h1>
<p><strong>源代码:</strong> <a class="reference external" href="https://github.com/python/cpython/tree/3.8/Lib/xml/dom/__init__.py">Lib/xml/dom/__init__.py</a></p>
<hr class="docutils" />
<p>文档对象模型“DOM”是一个来自万维网联盟W3C的跨语言 API用于访问和修改 XML 文档。 DOM 的实现将 XML 文档以树结构表示,或者允许客户端代码从头构建这样的结构。 然后它会通过一组提供通用接口的对象赋予对结构的访问权。</p>
<p>DOM 特别适用于进行随机访问的应用。 SAX 仅允许你每次查看文档的一小部分。 如果你正在查看一个 SAX 元素,你将不能访问其他元素。 如果你正在查看一个文本节点,你将不能访问包含它的元素。 当你编写一个 SAX 应用时,你需要在你自己的代码的某个地方记住你的程序在文档中的位置。 SAX 不会帮你做这件事。 并且,如果你想要在 XML 文档中向前查看,你是绝对办不到的。</p>
<p>有些应用程序在不能访问树的事件驱动模型中是根本无法编写的。 当然你可以在 SAX 事件中自行构建某种树,但是 DOM 可以使你避免编写这样的代码。 DOM 是针对 XML 数据的标准树表示形式。</p>
<p>文档对象模型是由 W3C 分阶段定义的,在其术语中称为“层级”。 Python 中该 API 的映射大致是基于 DOM 第 2 层级的建议。</p>
<p>DOM 应用程序通常从将某些 XML 解析为 DOM 开始。 此操作如何实现完全未被 DOM 第 1 层级所涉及,而第 2 层级也只提供了有限的改进:有一个 <code class="xref py py-class docutils literal notranslate"><span class="pre">DOMImplementation</span></code> 对象类,它提供对 <code class="xref py py-class docutils literal notranslate"><span class="pre">Document</span></code> 创建方法的访问,但却没有办法以不依赖具体实现的方式访问 XML 读取器/解析器/文档创建器。 也没有当不存在 <code class="xref py py-class docutils literal notranslate"><span class="pre">Document</span></code> 对象的情况下访问这些方法的定义良好的方式。 在 Python 中,每个 DOM 实现将提供一个函数 <a class="reference internal" href="#xml.dom.getDOMImplementation" title="xml.dom.getDOMImplementation"><code class="xref py py-func docutils literal notranslate"><span class="pre">getDOMImplementation()</span></code></a>。 DOM 第 3 层级增加了一个载入/存储规格说明,它定义了与读取器的接口,但这在 Python 标准库中尚不可用。</p>
<p>一旦你得到了 DOM 文档对象,你就可以通过 XML 文档的属性和方法访问它的各个部分。 这些属性定义在 DOM 规格说明当中;参考指南的这一部分描述了 Python 对此规格说明的解读。</p>
<p>W3C 提供的规格说明定义了适用于 Java, ECMAScript 和 OMG IDL 的 DOM API。 这里定义的 Python 映射很大程度上是基于此规格说明的 IDL 版本,但并不要求严格映射(但具体实现可以自由地支持对 IDL 的严格映射)。 请参阅 <a class="reference internal" href="#dom-conformance"><span class="std std-ref">一致性</span></a> 一节查看有关映射要求的详细讨论。</p>
<div class="admonition seealso">
<p class="admonition-title">参见</p>
<dl class="simple">
<dt><a class="reference external" href="https://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/">文档对象模型 (DOM) 第 2 层级规格说明</a></dt><dd><p>被 Python DOM API 作为基础的 W3C 建议。</p>
</dd>
<dt><a class="reference external" href="https://www.w3.org/TR/REC-DOM-Level-1/">文档对象模型 (DOM) 第 1 层级规格说明</a></dt><dd><p><a class="reference internal" href="xml.dom.minidom.html#module-xml.dom.minidom" title="xml.dom.minidom: Minimal Document Object Model (DOM) implementation."><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.dom.minidom</span></code></a> 所支持的 W3C 针对 DOM 的建议。</p>
</dd>
<dt><a class="reference external" href="http://www.omg.org/cgi-bin/doc?formal/02-11-05.pdf">Python 语言映射规格说明</a></dt><dd><p>此文档指明了从 OMG IDL 到 Python 的映射。</p>
</dd>
</dl>
</div>
<section id="module-contents">
<h2>模块内容<a class="headerlink" href="#module-contents" title="永久链接至标题"></a></h2>
<p><a class="reference internal" href="#module-xml.dom" title="xml.dom: Document Object Model API for Python."><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.dom</span></code></a> 包含下列函数:</p>
<dl class="function">
<dt id="xml.dom.registerDOMImplementation">
<code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">registerDOMImplementation</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">factory</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.registerDOMImplementation" title="永久链接至目标"></a></dt>
<dd><p>注册 <em>factory</em> 函数并使用名称 <em>name</em>。 该工厂函数应当返回一个实现了 <code class="xref py py-class docutils literal notranslate"><span class="pre">DOMImplementation</span></code> 接口的对象。 该工厂函数可每次都返回相同对象,或每次调用都返回新的对象,视具体实现的要求而定(例如该实现是否支持某些定制功能)。</p>
</dd></dl>
<dl class="function">
<dt id="xml.dom.getDOMImplementation">
<code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">getDOMImplementation</code><span class="sig-paren">(</span><em class="sig-param">name=None</em>, <em class="sig-param">features=()</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.getDOMImplementation" title="永久链接至目标"></a></dt>
<dd><p>返回一个适当的 DOM 实现。 <em>name</em> 是通用名称、DOM 实现的模块名称或者 <code class="docutils literal notranslate"><span class="pre">None</span></code>。 如果它不为 <code class="docutils literal notranslate"><span class="pre">None</span></code>,则会导入相应模块并在导入成功时返回一个 <code class="xref py py-class docutils literal notranslate"><span class="pre">DOMImplementation</span></code> 对象。 如果没有给出名称,并且如果设置了 <span class="target" id="index-2"></span><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHON_DOM</span></code> 环境变量,此变量会被用来查找相应的实现。</p>
<p>如果未给出 name此函数会检查可用的实现来查找具有所需特性集的一个。 如果找不到任何实现,则会引发 <a class="reference internal" href="exceptions.html#ImportError" title="ImportError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ImportError</span></code></a>。 features 集必须是包含 <code class="docutils literal notranslate"><span class="pre">(feature,</span> <span class="pre">version)</span></code> 对的序列,它会被传给可用的 <code class="xref py py-class docutils literal notranslate"><span class="pre">DOMImplementation</span></code> 对象上的 <code class="xref py py-meth docutils literal notranslate"><span class="pre">hasFeature()</span></code> 方法。</p>
</dd></dl>
<p>还提供了一些便捷常量:</p>
<dl class="data">
<dt id="xml.dom.EMPTY_NAMESPACE">
<code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">EMPTY_NAMESPACE</code><a class="headerlink" href="#xml.dom.EMPTY_NAMESPACE" title="永久链接至目标"></a></dt>
<dd><p>该值用于指明没有命名空间被关联到 DOM 中的某个节点。 它通常被作为某个节点的 <code class="xref py py-attr docutils literal notranslate"><span class="pre">namespaceURI</span></code>,或者被用作某个命名空间专属方法的 <em>namespaceURI</em> 参数。</p>
</dd></dl>
<dl class="data">
<dt id="xml.dom.XML_NAMESPACE">
<code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">XML_NAMESPACE</code><a class="headerlink" href="#xml.dom.XML_NAMESPACE" title="永久链接至目标"></a></dt>
<dd><p>关联到保留前缀 <code class="docutils literal notranslate"><span class="pre">xml</span></code> 的命名空间 URI<a class="reference external" href="https://www.w3.org/TR/REC-xml-names/">XML 中的命名空间</a> (第 4 节) 所定义的。</p>
</dd></dl>
<dl class="data">
<dt id="xml.dom.XMLNS_NAMESPACE">
<code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">XMLNS_NAMESPACE</code><a class="headerlink" href="#xml.dom.XMLNS_NAMESPACE" title="永久链接至目标"></a></dt>
<dd><p>命名空间声明的命名空间 URI<a class="reference external" href="https://www.w3.org/TR/DOM-Level-2-Core/core.html">文档对象模型 (DOM) 第 2 层级核心规格说明</a> (第 1.1.8节) 所定义的。</p>
</dd></dl>
<dl class="data">
<dt id="xml.dom.XHTML_NAMESPACE">
<code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">XHTML_NAMESPACE</code><a class="headerlink" href="#xml.dom.XHTML_NAMESPACE" title="永久链接至目标"></a></dt>
<dd><p>XHTML 命名空间的 URI<a class="reference external" href="https://www.w3.org/TR/xhtml1/">XHTML 1.0: 扩展超文本标记语言</a> (第 3.1.1 节) 所定义的。</p>
</dd></dl>
<p>此外,<a class="reference internal" href="#module-xml.dom" title="xml.dom: Document Object Model API for Python."><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.dom</span></code></a> 还包含一个基本 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 类和一些 DOM 异常类。 此模块提供的 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 类未实现 DOM 规格描述所定义的任何方法和属性;实际的 DOM 实现必须提供它们。 提供 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 类作为此模块的一部分并没有提供用于实际的 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 对象的 <code class="xref py py-attr docutils literal notranslate"><span class="pre">nodeType</span></code> 属性的常量;它们是位于类内而不是位于模块层级以符合 DOM 规格描述。</p>
</section>
<section id="objects-in-the-dom">
<span id="dom-objects"></span><h2>DOM 中的对象<a class="headerlink" href="#objects-in-the-dom" title="永久链接至标题"></a></h2>
<p>DOM的权威文档是来自W3C的DOM规范。</p>
<p>请注意DOM属性也可以作为节点而不是简单的字符串进行操作。然而必须这样做的情况相当少见所以这种用法还没有记录下来。</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 32%" />
<col style="width: 35%" />
<col style="width: 33%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>接口</p></th>
<th class="head"><p>部件</p></th>
<th class="head"><p>目的</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="xref py py-class docutils literal notranslate"><span class="pre">DOMImplementation</span></code></p></td>
<td><p><a class="reference internal" href="#dom-implementation-objects"><span class="std std-ref">DOMImplementation 对象</span></a></p></td>
<td><p>底层实现的接口。</p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code></p></td>
<td><p><a class="reference internal" href="#dom-node-objects"><span class="std std-ref">节点对象</span></a></p></td>
<td><p>文档中大多数对象的基本接口。</p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-class docutils literal notranslate"><span class="pre">NodeList</span></code></p></td>
<td><p><a class="reference internal" href="#dom-nodelist-objects"><span class="std std-ref">节点列表对象</span></a></p></td>
<td><p>节点序列的接口。</p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-class docutils literal notranslate"><span class="pre">DocumentType</span></code></p></td>
<td><p><a class="reference internal" href="#dom-documenttype-objects"><span class="std std-ref">文档类型对象</span></a></p></td>
<td><p>有关处理文档所需声明的信息。</p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-class docutils literal notranslate"><span class="pre">Document</span></code></p></td>
<td><p><a class="reference internal" href="#dom-document-objects"><span class="std std-ref">文档对象</span></a></p></td>
<td><p>表示整个文档的对象。</p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-class docutils literal notranslate"><span class="pre">Element</span></code></p></td>
<td><p><a class="reference internal" href="#dom-element-objects"><span class="std std-ref">元素对象</span></a></p></td>
<td><p>文档层次结构中的元素节点。</p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-class docutils literal notranslate"><span class="pre">Attr</span></code></p></td>
<td><p><a class="reference internal" href="#dom-attr-objects"><span class="std std-ref">Attr 对象</span></a></p></td>
<td><p>元素节点上的属性值节点。</p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-class docutils literal notranslate"><span class="pre">Comment</span></code></p></td>
<td><p><a class="reference internal" href="#dom-comment-objects"><span class="std std-ref">注释对象</span></a></p></td>
<td><p>源文档中注释的表示形式。</p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-class docutils literal notranslate"><span class="pre">Text</span></code></p></td>
<td><p><a class="reference internal" href="#dom-text-objects"><span class="std std-ref">Text 和 CDATASection 对象</span></a></p></td>
<td><p>包含文档中文本内容的节点。</p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-class docutils literal notranslate"><span class="pre">ProcessingInstruction</span></code></p></td>
<td><p><a class="reference internal" href="#dom-pi-objects"><span class="std std-ref">ProcessingInstruction 对象</span></a></p></td>
<td><p>处理指令表示形式。</p></td>
</tr>
</tbody>
</table>
<p>另一节描述了在Python中使用DOM定义的异常。</p>
<section id="domimplementation-objects">
<span id="dom-implementation-objects"></span><h3>DOMImplementation 对象<a class="headerlink" href="#domimplementation-objects" title="永久链接至标题"></a></h3>
<p><code class="xref py py-class docutils literal notranslate"><span class="pre">DOMImplementation</span></code> 接口提供了一种让应用程序确定他们所使用的 DOM 中某一特性可用性的方式。 DOM 第 2 级还添加了使用 <code class="xref py py-class docutils literal notranslate"><span class="pre">DOMImplementation</span></code> 来创建新的 <code class="xref py py-class docutils literal notranslate"><span class="pre">Document</span></code><code class="xref py py-class docutils literal notranslate"><span class="pre">DocumentType</span></code> 对象的能力。</p>
<dl class="method">
<dt id="xml.dom.DOMImplementation.hasFeature">
<code class="sig-prename descclassname">DOMImplementation.</code><code class="sig-name descname">hasFeature</code><span class="sig-paren">(</span><em class="sig-param">feature</em>, <em class="sig-param">version</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.DOMImplementation.hasFeature" title="永久链接至目标"></a></dt>
<dd><p>如果字符串对 <em>feature</em><em>version</em> 所标识的特性已被实现则返回 <code class="docutils literal notranslate"><span class="pre">True</span></code></p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.DOMImplementation.createDocument">
<code class="sig-prename descclassname">DOMImplementation.</code><code class="sig-name descname">createDocument</code><span class="sig-paren">(</span><em class="sig-param">namespaceUri</em>, <em class="sig-param">qualifiedName</em>, <em class="sig-param">doctype</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.DOMImplementation.createDocument" title="永久链接至目标"></a></dt>
<dd><p>返回一个新的 <code class="xref py py-class docutils literal notranslate"><span class="pre">Document</span></code> 对象 (DOM 的根节点),包含一个具有给定 <em>namespaceUri</em><em>qualifiedName</em> 的下级 <code class="xref py py-class docutils literal notranslate"><span class="pre">Element</span></code> 对象。 <em>doctype</em> 必须为由 <a class="reference internal" href="#xml.dom.DOMImplementation.createDocumentType" title="xml.dom.DOMImplementation.createDocumentType"><code class="xref py py-meth docutils literal notranslate"><span class="pre">createDocumentType()</span></code></a> 创建的 <code class="xref py py-class docutils literal notranslate"><span class="pre">DocumentType</span></code> 对象,或者为 <code class="docutils literal notranslate"><span class="pre">None</span></code>。 在 Python DOM API 中,前两个参数也可为 <code class="docutils literal notranslate"><span class="pre">None</span></code> 以表示不要创建任何下级 <code class="xref py py-class docutils literal notranslate"><span class="pre">Element</span></code></p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.DOMImplementation.createDocumentType">
<code class="sig-prename descclassname">DOMImplementation.</code><code class="sig-name descname">createDocumentType</code><span class="sig-paren">(</span><em class="sig-param">qualifiedName</em>, <em class="sig-param">publicId</em>, <em class="sig-param">systemId</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.DOMImplementation.createDocumentType" title="永久链接至目标"></a></dt>
<dd><p>返回一个新的封装了给定 <em>qualifiedName</em>, <em>publicId</em><em>systemId</em> 字符串的 <code class="xref py py-class docutils literal notranslate"><span class="pre">DocumentType</span></code> 对象,它表示包含在 XML 文档类型声明中的信息。</p>
</dd></dl>
</section>
<section id="node-objects">
<span id="dom-node-objects"></span><h3>节点对象<a class="headerlink" href="#node-objects" title="永久链接至标题"></a></h3>
<p>XML 文档的所有组成部分都是 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 的子类。</p>
<dl class="attribute">
<dt id="xml.dom.Node.nodeType">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">nodeType</code><a class="headerlink" href="#xml.dom.Node.nodeType" title="永久链接至目标"></a></dt>
<dd><p>一个代表节点类型的整数。 类型符号常量在 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 对象上: <code class="xref py py-const docutils literal notranslate"><span class="pre">ELEMENT_NODE</span></code>, <code class="xref py py-const docutils literal notranslate"><span class="pre">ATTRIBUTE_NODE</span></code>, <code class="xref py py-const docutils literal notranslate"><span class="pre">TEXT_NODE</span></code>, <code class="xref py py-const docutils literal notranslate"><span class="pre">CDATA_SECTION_NODE</span></code>, <code class="xref py py-const docutils literal notranslate"><span class="pre">ENTITY_NODE</span></code>, <code class="xref py py-const docutils literal notranslate"><span class="pre">PROCESSING_INSTRUCTION_NODE</span></code>, <code class="xref py py-const docutils literal notranslate"><span class="pre">COMMENT_NODE</span></code>, <code class="xref py py-const docutils literal notranslate"><span class="pre">DOCUMENT_NODE</span></code>, <code class="xref py py-const docutils literal notranslate"><span class="pre">DOCUMENT_TYPE_NODE</span></code>, <code class="xref py py-const docutils literal notranslate"><span class="pre">NOTATION_NODE</span></code>。 这是个只读属性。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Node.parentNode">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">parentNode</code><a class="headerlink" href="#xml.dom.Node.parentNode" title="永久链接至目标"></a></dt>
<dd><p>当前节点的上级,或者对于文档节点则为 <code class="docutils literal notranslate"><span class="pre">None</span></code>。 该值总是一个 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 对象或者 <code class="docutils literal notranslate"><span class="pre">None</span></code>。 对于 <code class="xref py py-class docutils literal notranslate"><span class="pre">Element</span></code> 节点,这将为上级元素,但对于根元素例外,在此情况下它将为 <code class="xref py py-class docutils literal notranslate"><span class="pre">Document</span></code> 对象。 对于 <code class="xref py py-class docutils literal notranslate"><span class="pre">Attr</span></code> 节点,它将总是为 <code class="docutils literal notranslate"><span class="pre">None</span></code>。 这是个只读属性。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Node.attributes">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">attributes</code><a class="headerlink" href="#xml.dom.Node.attributes" title="永久链接至目标"></a></dt>
<dd><p>属性对象的 <code class="xref py py-class docutils literal notranslate"><span class="pre">NamedNodeMap</span></code>。 这仅对元素才有实际值;其它对象会为该属性提供 <code class="docutils literal notranslate"><span class="pre">None</span></code> 值。 这是个只读属性。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Node.previousSibling">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">previousSibling</code><a class="headerlink" href="#xml.dom.Node.previousSibling" title="永久链接至目标"></a></dt>
<dd><p>在此节点之前具有相同上级的相邻节点。 例如结束标记紧接在在 <em>self</em> 元素的开始标记之前的元素。 当然XML 文档并非只是由元素组成,因此之前相邻节点可以是文本、注释或者其他内容。 如果此节点是上级的第一个子节点,则该属性将为 <code class="docutils literal notranslate"><span class="pre">None</span></code>。 这是一个只读属性。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Node.nextSibling">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">nextSibling</code><a class="headerlink" href="#xml.dom.Node.nextSibling" title="永久链接至目标"></a></dt>
<dd><p>在此节点之后具有相同上级的相邻节点。 另请参见 <a class="reference internal" href="#xml.dom.Node.previousSibling" title="xml.dom.Node.previousSibling"><code class="xref py py-attr docutils literal notranslate"><span class="pre">previousSibling</span></code></a>。 如果此节点是上级的最后一个子节点,则该属性将为 <code class="docutils literal notranslate"><span class="pre">None</span></code>。 这是一个只读属性。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Node.childNodes">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">childNodes</code><a class="headerlink" href="#xml.dom.Node.childNodes" title="永久链接至目标"></a></dt>
<dd><p>包含在此节点中的节点列表。 这是一个只读属性。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Node.firstChild">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">firstChild</code><a class="headerlink" href="#xml.dom.Node.firstChild" title="永久链接至目标"></a></dt>
<dd><p>节点的第一个下级,如果有的话,否则为 <code class="docutils literal notranslate"><span class="pre">None</span></code>。 这是个只读属性。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Node.lastChild">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">lastChild</code><a class="headerlink" href="#xml.dom.Node.lastChild" title="永久链接至目标"></a></dt>
<dd><p>节点的最后一个下级,如果有的话,否则为 <code class="docutils literal notranslate"><span class="pre">None</span></code>。 这是个只读属性。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Node.localName">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">localName</code><a class="headerlink" href="#xml.dom.Node.localName" title="永久链接至目标"></a></dt>
<dd><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">tagName</span></code> 在冒号之后的部分,如果有的话,否则为整个 <code class="xref py py-attr docutils literal notranslate"><span class="pre">tagName</span></code>。 该值为一个字符串。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Node.prefix">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">prefix</code><a class="headerlink" href="#xml.dom.Node.prefix" title="永久链接至目标"></a></dt>
<dd><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">tagName</span></code> 在冒号之前的部分,如果有冒号的话,否则为空字符串。 该值为一个字符串或者为 <code class="docutils literal notranslate"><span class="pre">None</span></code></p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Node.namespaceURI">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">namespaceURI</code><a class="headerlink" href="#xml.dom.Node.namespaceURI" title="永久链接至目标"></a></dt>
<dd><p>关联到元素名称的命名空间。 这将是一个字符串或为 <code class="docutils literal notranslate"><span class="pre">None</span></code>。 这是个只读属性。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Node.nodeName">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">nodeName</code><a class="headerlink" href="#xml.dom.Node.nodeName" title="永久链接至目标"></a></dt>
<dd><p>这对于每种节点类型具有不同的含义;请查看 DOM 规格说明来了解详情。 你总是可以从其他特征属性例如元素的 <code class="xref py py-attr docutils literal notranslate"><span class="pre">tagName</span></code> 特征属性或属性的 <code class="xref py py-attr docutils literal notranslate"><span class="pre">name</span></code> 特征属性获取你能从这里获取的信息。 对于所有节点类型,这个属性的值都将是一个字符串或为 <code class="docutils literal notranslate"><span class="pre">None</span></code>。 这是一个只读属性。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Node.nodeValue">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">nodeValue</code><a class="headerlink" href="#xml.dom.Node.nodeValue" title="永久链接至目标"></a></dt>
<dd><p>这对于每种节点类型具有不同的含义;请查看 DOM 规格说明来了解详情。 具体情况与 <a class="reference internal" href="#xml.dom.Node.nodeName" title="xml.dom.Node.nodeName"><code class="xref py py-attr docutils literal notranslate"><span class="pre">nodeName</span></code></a> 的类似。 该值是一个字符串或为 <code class="docutils literal notranslate"><span class="pre">None</span></code></p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Node.hasAttributes">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">hasAttributes</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Node.hasAttributes" title="永久链接至目标"></a></dt>
<dd><p>如果该节点具有任何属性则返回 <code class="docutils literal notranslate"><span class="pre">True</span></code></p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Node.hasChildNodes">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">hasChildNodes</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Node.hasChildNodes" title="永久链接至目标"></a></dt>
<dd><p>如果该节点具有任何子节点则返回 <code class="docutils literal notranslate"><span class="pre">True</span></code></p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Node.isSameNode">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">isSameNode</code><span class="sig-paren">(</span><em class="sig-param">other</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Node.isSameNode" title="永久链接至目标"></a></dt>
<dd><p>如果 <em>other</em> 指向的节点就是此节点则返回 <code class="docutils literal notranslate"><span class="pre">True</span></code>。 这对于使用了任何代理架构的 DOM 实现来说特别有用(因为多个对象可能指向相同节点)。</p>
<div class="admonition note">
<p class="admonition-title">注解</p>
<p>这是基于已提议的 DOM 第 3 等级 API目前尚处于“起草”阶段但这个特定接口看来并不存在争议。 来自 W3C 的修改将不会影响 Python DOM 接口中的这个方法(不过针对它的任何新 W3C API 也将受到支持)。</p>
</div>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Node.appendChild">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">appendChild</code><span class="sig-paren">(</span><em class="sig-param">newChild</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Node.appendChild" title="永久链接至目标"></a></dt>
<dd><p>在子节点列表末尾添加一个新的子节点,返回 <em>newChild</em>。 如果节点已存在于树结构中,它将先被移除。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Node.insertBefore">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">insertBefore</code><span class="sig-paren">(</span><em class="sig-param">newChild</em>, <em class="sig-param">refChild</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Node.insertBefore" title="永久链接至目标"></a></dt>
<dd><p>在现有的子节点之前插入一个新的子节点。 它必须属于 <em>refChild</em> 是这个节点的子节点的情况;如果不是,则会引发 <a class="reference internal" href="exceptions.html#ValueError" title="ValueError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code></a><em>newChild</em> 会被返回。 如果 <em>refChild</em><code class="docutils literal notranslate"><span class="pre">None</span></code>,它会将 <em>newChild</em> 插入到子节点列表的末尾。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Node.removeChild">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">removeChild</code><span class="sig-paren">(</span><em class="sig-param">oldChild</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Node.removeChild" title="永久链接至目标"></a></dt>
<dd><p>移除一个子节点。 <em>oldChild</em> 必须是这个节点的子节点;如果不是,则会引发 <a class="reference internal" href="exceptions.html#ValueError" title="ValueError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code></a>。 成功时 <em>oldChild</em> 会被返回。 如果 <em>oldChild</em> 将不再被继续使用,则将调用它的 <code class="xref py py-meth docutils literal notranslate"><span class="pre">unlink()</span></code> 方法。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Node.replaceChild">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">replaceChild</code><span class="sig-paren">(</span><em class="sig-param">newChild</em>, <em class="sig-param">oldChild</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Node.replaceChild" title="永久链接至目标"></a></dt>
<dd><p>将一个现有节点替换为新的节点。 这必须属于 <em>oldChild</em> 是该节点的子节点的情况;如果不是,则会引发 <a class="reference internal" href="exceptions.html#ValueError" title="ValueError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code></a></p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Node.normalize">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">normalize</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Node.normalize" title="永久链接至目标"></a></dt>
<dd><p>合并相邻的文本节点以便将所有文本段存储为单个 <code class="xref py py-class docutils literal notranslate"><span class="pre">Text</span></code> 实例。 这可以简化许多应用程序处理来自 DOM 树文本的操作。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Node.cloneNode">
<code class="sig-prename descclassname">Node.</code><code class="sig-name descname">cloneNode</code><span class="sig-paren">(</span><em class="sig-param">deep</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Node.cloneNode" title="永久链接至目标"></a></dt>
<dd><p>克隆此节点。 设置 <em>deep</em> 表示也克隆所有子节点。 此方法将返回克隆的节点。</p>
</dd></dl>
</section>
<section id="nodelist-objects">
<span id="dom-nodelist-objects"></span><h3>节点列表对象<a class="headerlink" href="#nodelist-objects" title="永久链接至标题"></a></h3>
<p><code class="xref py py-class docutils literal notranslate"><span class="pre">NodeList</span></code> 代表一个节点列表。 在 DOM 核心建议中这些对象有两种使用方式: 由 <code class="xref py py-class docutils literal notranslate"><span class="pre">Element</span></code> 对象提供作为其子节点列表,以及由 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code><code class="xref py py-meth docutils literal notranslate"><span class="pre">getElementsByTagName()</span></code><code class="xref py py-meth docutils literal notranslate"><span class="pre">getElementsByTagNameNS()</span></code> 方法通过此接口返回对象来表示查询结果。</p>
<p>DOM 第 2 层级建议为这些对象定义一个方法和一个属性:</p>
<dl class="method">
<dt id="xml.dom.NodeList.item">
<code class="sig-prename descclassname">NodeList.</code><code class="sig-name descname">item</code><span class="sig-paren">(</span><em class="sig-param">i</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.NodeList.item" title="永久链接至目标"></a></dt>
<dd><p>从序列中返回第 <em>i</em> 项,如果序列不为空的话,否则返回 <code class="docutils literal notranslate"><span class="pre">None</span></code>。 索引号 <em>i</em> 不允许小于零或大于等于序列的长度。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.NodeList.length">
<code class="sig-prename descclassname">NodeList.</code><code class="sig-name descname">length</code><a class="headerlink" href="#xml.dom.NodeList.length" title="永久链接至目标"></a></dt>
<dd><p>序列中的节点数量。</p>
</dd></dl>
<p>此外Python DOM 接口还要求提供一些额外支持来允许将 <code class="xref py py-class docutils literal notranslate"><span class="pre">NodeList</span></code> 对象用作 Python 序列。 所有 <code class="xref py py-class docutils literal notranslate"><span class="pre">NodeList</span></code> 实现都必须包括对 <a class="reference internal" href="../reference/datamodel.html#object.__len__" title="object.__len__"><code class="xref py py-meth docutils literal notranslate"><span class="pre">__len__()</span></code></a><a class="reference internal" href="../reference/datamodel.html#object.__getitem__" title="object.__getitem__"><code class="xref py py-meth docutils literal notranslate"><span class="pre">__getitem__()</span></code></a> 的支持;这样 <code class="xref py py-class docutils literal notranslate"><span class="pre">NodeList</span></code> 就允许使用 <a class="reference internal" href="../reference/compound_stmts.html#for"><code class="xref std std-keyword docutils literal notranslate"><span class="pre">for</span></code></a> 语句进行迭代并能正确地支持 <a class="reference internal" href="functions.html#len" title="len"><code class="xref py py-func docutils literal notranslate"><span class="pre">len()</span></code></a> 内置函数。</p>
<p>如果一个 DOM 实现支持文档的修改,则 <code class="xref py py-class docutils literal notranslate"><span class="pre">NodeList</span></code> 实现还必须支持 <a class="reference internal" href="../reference/datamodel.html#object.__setitem__" title="object.__setitem__"><code class="xref py py-meth docutils literal notranslate"><span class="pre">__setitem__()</span></code></a><a class="reference internal" href="../reference/datamodel.html#object.__delitem__" title="object.__delitem__"><code class="xref py py-meth docutils literal notranslate"><span class="pre">__delitem__()</span></code></a> 方法。</p>
</section>
<section id="documenttype-objects">
<span id="dom-documenttype-objects"></span><h3>文档类型对象<a class="headerlink" href="#documenttype-objects" title="永久链接至标题"></a></h3>
<p>有关一个文档所声明的标注和实体的信息(包括解析器所使用并能提供信息的外部子集)可以从 <code class="xref py py-class docutils literal notranslate"><span class="pre">DocumentType</span></code> 对象获取。 文档的 <code class="xref py py-class docutils literal notranslate"><span class="pre">DocumentType</span></code> 可从 <code class="xref py py-class docutils literal notranslate"><span class="pre">Document</span></code> 对象的 <code class="xref py py-attr docutils literal notranslate"><span class="pre">doctype</span></code> 属性中获取;如果一个文档没有 <code class="docutils literal notranslate"><span class="pre">DOCTYPE</span></code> 声明,则该文档的 <code class="xref py py-attr docutils literal notranslate"><span class="pre">doctype</span></code> 属性将被设为 <code class="docutils literal notranslate"><span class="pre">None</span></code> 而非此接口的一个实例。</p>
<p><code class="xref py py-class docutils literal notranslate"><span class="pre">DocumentType</span></code><code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 是专门化,并增加了下列属性:</p>
<dl class="attribute">
<dt id="xml.dom.DocumentType.publicId">
<code class="sig-prename descclassname">DocumentType.</code><code class="sig-name descname">publicId</code><a class="headerlink" href="#xml.dom.DocumentType.publicId" title="永久链接至目标"></a></dt>
<dd><p>文档类型定义的外部子集的公有标识。 这将为一个字符串或者为 <code class="docutils literal notranslate"><span class="pre">None</span></code></p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.DocumentType.systemId">
<code class="sig-prename descclassname">DocumentType.</code><code class="sig-name descname">systemId</code><a class="headerlink" href="#xml.dom.DocumentType.systemId" title="永久链接至目标"></a></dt>
<dd><p>文档类型定义的外部子集的系统标识。 这将为一个字符串形式的 URI或者为 <code class="docutils literal notranslate"><span class="pre">None</span></code></p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.DocumentType.internalSubset">
<code class="sig-prename descclassname">DocumentType.</code><code class="sig-name descname">internalSubset</code><a class="headerlink" href="#xml.dom.DocumentType.internalSubset" title="永久链接至目标"></a></dt>
<dd><p>一个给出来自文档的完整内部子集的字符串。 这不包括子集外面的圆括号。 如果文档没有内部子集,则应为 <code class="docutils literal notranslate"><span class="pre">None</span></code></p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.DocumentType.name">
<code class="sig-prename descclassname">DocumentType.</code><code class="sig-name descname">name</code><a class="headerlink" href="#xml.dom.DocumentType.name" title="永久链接至目标"></a></dt>
<dd><p><code class="docutils literal notranslate"><span class="pre">DOCTYPE</span></code> 声明中给出的根元素名称,如果有的话。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.DocumentType.entities">
<code class="sig-prename descclassname">DocumentType.</code><code class="sig-name descname">entities</code><a class="headerlink" href="#xml.dom.DocumentType.entities" title="永久链接至目标"></a></dt>
<dd><p>这是给出外部实体定义的 <code class="xref py py-class docutils literal notranslate"><span class="pre">NamedNodeMap</span></code>。 对于多次定义的实体名称,则只提供第一次的定义(其他的会按照 XML 建议被忽略)。 这可能为 <code class="docutils literal notranslate"><span class="pre">None</span></code>,如果解析器未提供此信息,或者如果未定义任何实体的话。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.DocumentType.notations">
<code class="sig-prename descclassname">DocumentType.</code><code class="sig-name descname">notations</code><a class="headerlink" href="#xml.dom.DocumentType.notations" title="永久链接至目标"></a></dt>
<dd><p>这是给出标注定义的 <code class="xref py py-class docutils literal notranslate"><span class="pre">NamedNodeMap</span></code>。 对于多次定义的标注,则只提供第一次的定义(其他的会按照 XML 建议被忽略)。 这可能为 <code class="docutils literal notranslate"><span class="pre">None</span></code>,如果解析器未提供此信息,或者如果未定义任何注释的话。</p>
</dd></dl>
</section>
<section id="document-objects">
<span id="dom-document-objects"></span><h3>文档对象<a class="headerlink" href="#document-objects" title="永久链接至标题"></a></h3>
<p><code class="xref py py-class docutils literal notranslate"><span class="pre">Document</span></code> 代表一个完整的 XML 文档,包括其组成元素、属性、处理指令和注释等。 请记住它会继承来自 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 的属性。</p>
<dl class="attribute">
<dt id="xml.dom.Document.documentElement">
<code class="sig-prename descclassname">Document.</code><code class="sig-name descname">documentElement</code><a class="headerlink" href="#xml.dom.Document.documentElement" title="永久链接至目标"></a></dt>
<dd><p>文档唯一的根元素。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Document.createElement">
<code class="sig-prename descclassname">Document.</code><code class="sig-name descname">createElement</code><span class="sig-paren">(</span><em class="sig-param">tagName</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Document.createElement" title="永久链接至目标"></a></dt>
<dd><p>创建并返回一个新的元素节点。 当元素被创建时不会被插入到文档中。 你需要通过某个其他方法例如 <code class="xref py py-meth docutils literal notranslate"><span class="pre">insertBefore()</span></code><code class="xref py py-meth docutils literal notranslate"><span class="pre">appendChild()</span></code> 来显示地插入它。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Document.createElementNS">
<code class="sig-prename descclassname">Document.</code><code class="sig-name descname">createElementNS</code><span class="sig-paren">(</span><em class="sig-param">namespaceURI</em>, <em class="sig-param">tagName</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Document.createElementNS" title="永久链接至目标"></a></dt>
<dd><p>创建并返回一个新的带有命名空间的元素。 <em>tagName</em> 可以带有前缀。 当元素被创建时不会被插入到文档中。 你需要通过某个其他方法例如 <code class="xref py py-meth docutils literal notranslate"><span class="pre">insertBefore()</span></code><code class="xref py py-meth docutils literal notranslate"><span class="pre">appendChild()</span></code> 来显式地插入它。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Document.createTextNode">
<code class="sig-prename descclassname">Document.</code><code class="sig-name descname">createTextNode</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Document.createTextNode" title="永久链接至目标"></a></dt>
<dd><p>创建并返回一个包含作为形参被传入的数据的文本节点。 与其他创建方法一样,此方法不会将节点插入到树中。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Document.createComment">
<code class="sig-prename descclassname">Document.</code><code class="sig-name descname">createComment</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Document.createComment" title="永久链接至目标"></a></dt>
<dd><p>创建并返回一个作为形参被传入的数据的注释节点。 与其他创建方法一样,此方法不会将节点插入到树中。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Document.createProcessingInstruction">
<code class="sig-prename descclassname">Document.</code><code class="sig-name descname">createProcessingInstruction</code><span class="sig-paren">(</span><em class="sig-param">target</em>, <em class="sig-param">data</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Document.createProcessingInstruction" title="永久链接至目标"></a></dt>
<dd><p>创建并返回一个包含作为形参被传入的 <em>target</em><em>data</em> 的处理指令节点。 与其他创建方法一样,此方法不会将节点插入到树中。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Document.createAttribute">
<code class="sig-prename descclassname">Document.</code><code class="sig-name descname">createAttribute</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Document.createAttribute" title="永久链接至目标"></a></dt>
<dd><p>创建并返回一个属性节点。 此方法不会将属性关联到任何特定的元素。 你必须在正确的 <code class="xref py py-class docutils literal notranslate"><span class="pre">Element</span></code> 对象上使用 <code class="xref py py-meth docutils literal notranslate"><span class="pre">setAttributeNode()</span></code> 来使用新创建的属性实例。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Document.createAttributeNS">
<code class="sig-prename descclassname">Document.</code><code class="sig-name descname">createAttributeNS</code><span class="sig-paren">(</span><em class="sig-param">namespaceURI</em>, <em class="sig-param">qualifiedName</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Document.createAttributeNS" title="永久链接至目标"></a></dt>
<dd><p>创建并返回一个带有命名空间的属性节点。 <em>tagName</em> 可以带有前缀。 此方法不会将属性节点关联到任何特定的元素。 你必须在正确的 <code class="xref py py-class docutils literal notranslate"><span class="pre">Element</span></code> 对象上使用 <code class="xref py py-meth docutils literal notranslate"><span class="pre">setAttributeNode()</span></code> 来使用新创建的属性实例。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Document.getElementsByTagName">
<code class="sig-prename descclassname">Document.</code><code class="sig-name descname">getElementsByTagName</code><span class="sig-paren">(</span><em class="sig-param">tagName</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Document.getElementsByTagName" title="永久链接至目标"></a></dt>
<dd><p>搜索全部具有特定元素类型名称的后继元素(直接下级、下级的下级等等)。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Document.getElementsByTagNameNS">
<code class="sig-prename descclassname">Document.</code><code class="sig-name descname">getElementsByTagNameNS</code><span class="sig-paren">(</span><em class="sig-param">namespaceURI</em>, <em class="sig-param">localName</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Document.getElementsByTagNameNS" title="永久链接至目标"></a></dt>
<dd><p>搜索全部具有特定命名空间 URI 和 localname 的后继元素(直接下级、下级的下级等等)。 localname 是命名空间在前缀之后的部分。</p>
</dd></dl>
</section>
<section id="element-objects">
<span id="dom-element-objects"></span><h3>元素对象<a class="headerlink" href="#element-objects" title="永久链接至标题"></a></h3>
<p><code class="xref py py-class docutils literal notranslate"><span class="pre">Element</span></code><code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 的子类,因此会继承该类的全部属性。</p>
<dl class="attribute">
<dt id="xml.dom.Element.tagName">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">tagName</code><a class="headerlink" href="#xml.dom.Element.tagName" title="永久链接至目标"></a></dt>
<dd><p>元素类型名称。 在使用命名空间的文档中它可能包含冒号。 该值是一个字符串。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.getElementsByTagName">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">getElementsByTagName</code><span class="sig-paren">(</span><em class="sig-param">tagName</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.getElementsByTagName" title="永久链接至目标"></a></dt>
<dd><p><code class="xref py py-class docutils literal notranslate"><span class="pre">Document</span></code> 类中的对应方法相同。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.getElementsByTagNameNS">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">getElementsByTagNameNS</code><span class="sig-paren">(</span><em class="sig-param">namespaceURI</em>, <em class="sig-param">localName</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.getElementsByTagNameNS" title="永久链接至目标"></a></dt>
<dd><p><code class="xref py py-class docutils literal notranslate"><span class="pre">Document</span></code> 类中的对应方法相同。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.hasAttribute">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">hasAttribute</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.hasAttribute" title="永久链接至目标"></a></dt>
<dd><p>如果元素带有名称为 <em>name</em> 的属性则返回 <code class="docutils literal notranslate"><span class="pre">True</span></code></p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.hasAttributeNS">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">hasAttributeNS</code><span class="sig-paren">(</span><em class="sig-param">namespaceURI</em>, <em class="sig-param">localName</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.hasAttributeNS" title="永久链接至目标"></a></dt>
<dd><p>如果元素带有名称为 <em>namespaceURI</em><em>localName</em> 的属性则返回 <code class="docutils literal notranslate"><span class="pre">True</span></code></p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.getAttribute">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">getAttribute</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.getAttribute" title="永久链接至目标"></a></dt>
<dd><p>将名称为 <em>name</em> 的属性的值作为字符串返回。 如果指定属性不存在,则返回空字符串,就像该属性没有对应的值一样。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.getAttributeNode">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">getAttributeNode</code><span class="sig-paren">(</span><em class="sig-param">attrname</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.getAttributeNode" title="永久链接至目标"></a></dt>
<dd><p>返回名称为 <em>attrname</em> 的属性对应的 <code class="xref py py-class docutils literal notranslate"><span class="pre">Attr</span></code> 节点。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.getAttributeNS">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">getAttributeNS</code><span class="sig-paren">(</span><em class="sig-param">namespaceURI</em>, <em class="sig-param">localName</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.getAttributeNS" title="永久链接至目标"></a></dt>
<dd><p>将名称为 <em>namespaceURI</em><em>localName</em> 的属性的值作为字符串返回。 如果指定属性不存在,则返回空字符串,就像该属性没有对应的值一样。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.getAttributeNodeNS">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">getAttributeNodeNS</code><span class="sig-paren">(</span><em class="sig-param">namespaceURI</em>, <em class="sig-param">localName</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.getAttributeNodeNS" title="永久链接至目标"></a></dt>
<dd><p>将给定 <em>namespaceURI</em><em>localName</em> 的属性的值作为节点返回。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.removeAttribute">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">removeAttribute</code><span class="sig-paren">(</span><em class="sig-param">name</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.removeAttribute" title="永久链接至目标"></a></dt>
<dd><p>移除指定名称的节点。 如果没有匹配的属性,则会引发 <a class="reference internal" href="#xml.dom.NotFoundErr" title="xml.dom.NotFoundErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">NotFoundErr</span></code></a></p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.removeAttributeNode">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">removeAttributeNode</code><span class="sig-paren">(</span><em class="sig-param">oldAttr</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.removeAttributeNode" title="永久链接至目标"></a></dt>
<dd><p>从属性列表中移除并返回 <em>oldAttr</em>,如果该属性存在的话。 如果 <em>oldAttr</em> 不存在,则会引发 <a class="reference internal" href="#xml.dom.NotFoundErr" title="xml.dom.NotFoundErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">NotFoundErr</span></code></a></p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.removeAttributeNS">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">removeAttributeNS</code><span class="sig-paren">(</span><em class="sig-param">namespaceURI</em>, <em class="sig-param">localName</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.removeAttributeNS" title="永久链接至目标"></a></dt>
<dd><p>移除指定名称的属性。 请注意它是使用 localName 而不是 qname。 如果没有匹配的属性也不会引发异常。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.setAttribute">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">setAttribute</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">value</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.setAttribute" title="永久链接至目标"></a></dt>
<dd><p>将属性值设为指定的字符串。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.setAttributeNode">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">setAttributeNode</code><span class="sig-paren">(</span><em class="sig-param">newAttr</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.setAttributeNode" title="永久链接至目标"></a></dt>
<dd><p>将一个新的属性节点添加到元素,当匹配到 <code class="xref py py-attr docutils literal notranslate"><span class="pre">name</span></code> 属性时如有必要会替换现有的属性。 如果发生了替换,将返回原有属性节点。 如果 <em>newAttr</em> 已经被使用,则会引发 <a class="reference internal" href="#xml.dom.InuseAttributeErr" title="xml.dom.InuseAttributeErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">InuseAttributeErr</span></code></a></p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.setAttributeNodeNS">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">setAttributeNodeNS</code><span class="sig-paren">(</span><em class="sig-param">newAttr</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.setAttributeNodeNS" title="永久链接至目标"></a></dt>
<dd><p>将一个新的属性节点添加到元素,当匹配到 <code class="xref py py-attr docutils literal notranslate"><span class="pre">namespaceURI</span></code><code class="xref py py-attr docutils literal notranslate"><span class="pre">localName</span></code> 属性时如有必要会替换现有的属性。 如果发生了替换,将返回原有属性节点。 如果 <em>newAttr</em> 已经被使用,则会引发 <a class="reference internal" href="#xml.dom.InuseAttributeErr" title="xml.dom.InuseAttributeErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">InuseAttributeErr</span></code></a></p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.Element.setAttributeNS">
<code class="sig-prename descclassname">Element.</code><code class="sig-name descname">setAttributeNS</code><span class="sig-paren">(</span><em class="sig-param">namespaceURI</em>, <em class="sig-param">qname</em>, <em class="sig-param">value</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.Element.setAttributeNS" title="永久链接至目标"></a></dt>
<dd><p>将属性值设为 <em>namespaceURI</em><em>qname</em> 所给出的字符串。 请注意 qname 是整个属性名称。 这与上面的方法不同。</p>
</dd></dl>
</section>
<section id="attr-objects">
<span id="dom-attr-objects"></span><h3>Attr 对象<a class="headerlink" href="#attr-objects" title="永久链接至标题"></a></h3>
<p><code class="xref py py-class docutils literal notranslate"><span class="pre">Attr</span></code> 继承自 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code>,因此会继承其全部属性。</p>
<dl class="attribute">
<dt id="xml.dom.Attr.name">
<code class="sig-prename descclassname">Attr.</code><code class="sig-name descname">name</code><a class="headerlink" href="#xml.dom.Attr.name" title="永久链接至目标"></a></dt>
<dd><p>属性名称。 在使用命名空间的文档中可能会包括冒号。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Attr.localName">
<code class="sig-prename descclassname">Attr.</code><code class="sig-name descname">localName</code><a class="headerlink" href="#xml.dom.Attr.localName" title="永久链接至目标"></a></dt>
<dd><p>名称在冒号之后的部分,如果有的话,否则为完整名称。 这是个只读属性。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Attr.prefix">
<code class="sig-prename descclassname">Attr.</code><code class="sig-name descname">prefix</code><a class="headerlink" href="#xml.dom.Attr.prefix" title="永久链接至目标"></a></dt>
<dd><p>名称在冒号之前的部分,如果有冒号的话,否则为空字符串。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.Attr.value">
<code class="sig-prename descclassname">Attr.</code><code class="sig-name descname">value</code><a class="headerlink" href="#xml.dom.Attr.value" title="永久链接至目标"></a></dt>
<dd><p>属性的文本值。 这与 <code class="xref py py-attr docutils literal notranslate"><span class="pre">nodeValue</span></code> 属性同义。</p>
</dd></dl>
</section>
<section id="namednodemap-objects">
<span id="dom-attributelist-objects"></span><h3>NamedNodeMap 对象<a class="headerlink" href="#namednodemap-objects" title="永久链接至标题"></a></h3>
<p><code class="xref py py-class docutils literal notranslate"><span class="pre">NamedNodeMap</span></code> <em>不是</em> 继承自 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code></p>
<dl class="attribute">
<dt id="xml.dom.NamedNodeMap.length">
<code class="sig-prename descclassname">NamedNodeMap.</code><code class="sig-name descname">length</code><a class="headerlink" href="#xml.dom.NamedNodeMap.length" title="永久链接至目标"></a></dt>
<dd><p>属性列表的长度。</p>
</dd></dl>
<dl class="method">
<dt id="xml.dom.NamedNodeMap.item">
<code class="sig-prename descclassname">NamedNodeMap.</code><code class="sig-name descname">item</code><span class="sig-paren">(</span><em class="sig-param">index</em><span class="sig-paren">)</span><a class="headerlink" href="#xml.dom.NamedNodeMap.item" title="永久链接至目标"></a></dt>
<dd><p>返回特定带有索引号的属性。 获取属性的顺序是强制规定的,但在 DOM 的生命期内会保持一致。 其中每一项均为属性节点。 可使用 <code class="xref py py-attr docutils literal notranslate"><span class="pre">value</span></code> 属性获取其值。</p>
</dd></dl>
<p>还有一些试验性方法给予这个类更多的映射行为。 你可以使用这些方法或者使用 <code class="xref py py-class docutils literal notranslate"><span class="pre">Element</span></code> 对象上标准化的 <code class="xref py py-meth docutils literal notranslate"><span class="pre">getAttribute*()</span></code> 方法族。</p>
</section>
<section id="comment-objects">
<span id="dom-comment-objects"></span><h3>注释对象<a class="headerlink" href="#comment-objects" title="永久链接至标题"></a></h3>
<p><code class="xref py py-class docutils literal notranslate"><span class="pre">Comment</span></code> 代表 XML 文档中的注释。 它是 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 的子类,但不能拥有下级节点。</p>
<dl class="attribute">
<dt id="xml.dom.Comment.data">
<code class="sig-prename descclassname">Comment.</code><code class="sig-name descname">data</code><a class="headerlink" href="#xml.dom.Comment.data" title="永久链接至目标"></a></dt>
<dd><p>注释的内容是一个字符串。 该属性包含在开头 <code class="docutils literal notranslate"><span class="pre">&lt;!-</span></code><code class="docutils literal notranslate"><span class="pre">-</span></code> 和末尾 <code class="docutils literal notranslate"><span class="pre">-</span></code><code class="docutils literal notranslate"><span class="pre">-&gt;</span></code> 之间的所有字符,但不包括这两个符号。</p>
</dd></dl>
</section>
<section id="text-and-cdatasection-objects">
<span id="dom-text-objects"></span><h3>Text 和 CDATASection 对象<a class="headerlink" href="#text-and-cdatasection-objects" title="永久链接至标题"></a></h3>
<p><code class="xref py py-class docutils literal notranslate"><span class="pre">Text</span></code> 接口代表 XML 文档中的文本。 如果解析器和 DOM 实现支持 DOM 的 XML 扩展,则包裹在 CDATA 标记的节中的部分会被存储到 <code class="xref py py-class docutils literal notranslate"><span class="pre">CDATASection</span></code> 对象中。 这两个接口很相似,但是提供了不同的 <code class="xref py py-attr docutils literal notranslate"><span class="pre">nodeType</span></code> 属性值。</p>
<p>这些接口扩展了 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 接口。 它们不能拥有下级节点。</p>
<dl class="attribute">
<dt id="xml.dom.Text.data">
<code class="sig-prename descclassname">Text.</code><code class="sig-name descname">data</code><a class="headerlink" href="#xml.dom.Text.data" title="永久链接至目标"></a></dt>
<dd><p>字符串形式的文本节点内容。</p>
</dd></dl>
<div class="admonition note">
<p class="admonition-title">注解</p>
<p><code class="xref py py-class docutils literal notranslate"><span class="pre">CDATASection</span></code> 节点的使用并不表示该节点代表一个完整的 CDATA 标记节,只是表示该节点的内容是 CDATA 节的一部分。 单个 CDATA 节可以由文档树中的多个节点来表示。 没有什么办法能确定两个相邻的 <code class="xref py py-class docutils literal notranslate"><span class="pre">CDATASection</span></code> 节点是否代表不同的 CDATA 标记节。</p>
</div>
</section>
<section id="processinginstruction-objects">
<span id="dom-pi-objects"></span><h3>ProcessingInstruction 对象<a class="headerlink" href="#processinginstruction-objects" title="永久链接至标题"></a></h3>
<p>代表 XML 文档中的处理指令。 它继承自 <code class="xref py py-class docutils literal notranslate"><span class="pre">Node</span></code> 接口并且不能拥有下级节点。</p>
<dl class="attribute">
<dt id="xml.dom.ProcessingInstruction.target">
<code class="sig-prename descclassname">ProcessingInstruction.</code><code class="sig-name descname">target</code><a class="headerlink" href="#xml.dom.ProcessingInstruction.target" title="永久链接至目标"></a></dt>
<dd><p>处理指令的内容至第一个空格符为止。 这是个只读属性。</p>
</dd></dl>
<dl class="attribute">
<dt id="xml.dom.ProcessingInstruction.data">
<code class="sig-prename descclassname">ProcessingInstruction.</code><code class="sig-name descname">data</code><a class="headerlink" href="#xml.dom.ProcessingInstruction.data" title="永久链接至目标"></a></dt>
<dd><p>在第一个空格符之后的处理指令内容。</p>
</dd></dl>
</section>
<section id="exceptions">
<span id="dom-exceptions"></span><h3>异常<a class="headerlink" href="#exceptions" title="永久链接至标题"></a></h3>
<p>DOM 第 2 层级推荐定义一个异常 <a class="reference internal" href="#xml.dom.DOMException" title="xml.dom.DOMException"><code class="xref py py-exc docutils literal notranslate"><span class="pre">DOMException</span></code></a>,以及多个变量用来允许应用程序确定发生了何种错误。 <a class="reference internal" href="#xml.dom.DOMException" title="xml.dom.DOMException"><code class="xref py py-exc docutils literal notranslate"><span class="pre">DOMException</span></code></a> 实例带有 <a class="reference internal" href="code.html#module-code" title="code: Facilities to implement read-eval-print loops."><code class="xref py py-attr docutils literal notranslate"><span class="pre">code</span></code></a> 属性用来提供特定异常的对应值。</p>
<p>Python DOM 接口提供了一些常量,但还扩展了异常集以使 DOM 所定义的每个异常代码都存在特定的异常。 接口的具体实现必须引发正确的特定异常,它们各自带有正确的 <a class="reference internal" href="code.html#module-code" title="code: Facilities to implement read-eval-print loops."><code class="xref py py-attr docutils literal notranslate"><span class="pre">code</span></code></a> 属性值。</p>
<dl class="exception">
<dt id="xml.dom.DOMException">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">DOMException</code><a class="headerlink" href="#xml.dom.DOMException" title="永久链接至目标"></a></dt>
<dd><p>所有特定 DOM 异常所使用的异常基类。 该异常类不可被直接实例化。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.DomstringSizeErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">DomstringSizeErr</code><a class="headerlink" href="#xml.dom.DomstringSizeErr" title="永久链接至目标"></a></dt>
<dd><p>当指定范围的文本不能适配一个字符串时被引发。 此异常在 Python DOM 实现中尚不可用,但可从不是以 Python 编写的 DOM 实现中接收。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.HierarchyRequestErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">HierarchyRequestErr</code><a class="headerlink" href="#xml.dom.HierarchyRequestErr" title="永久链接至目标"></a></dt>
<dd><p>当尝试插入一个节点但该节点类型不被允许时被引发。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.IndexSizeErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">IndexSizeErr</code><a class="headerlink" href="#xml.dom.IndexSizeErr" title="永久链接至目标"></a></dt>
<dd><p>当一个方法的索引或大小参数为负值或超出允许的值范围时被引发。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.InuseAttributeErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">InuseAttributeErr</code><a class="headerlink" href="#xml.dom.InuseAttributeErr" title="永久链接至目标"></a></dt>
<dd><p>当尝试插入一个 <code class="xref py py-class docutils literal notranslate"><span class="pre">Attr</span></code> 节点但该节点已存在于文档中的某处时被引发。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.InvalidAccessErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">InvalidAccessErr</code><a class="headerlink" href="#xml.dom.InvalidAccessErr" title="永久链接至目标"></a></dt>
<dd><p>当某个参数或操作在底层对象中不受支持时被引发。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.InvalidCharacterErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">InvalidCharacterErr</code><a class="headerlink" href="#xml.dom.InvalidCharacterErr" title="永久链接至目标"></a></dt>
<dd><p>当某个字符串参数包含的字符在使用它的上下文中不被 XML 1.0 标准建议所允许时引发。 例如,尝试创建一个元素类型名称中带有空格的 <code class="xref py py-class docutils literal notranslate"><span class="pre">Element</span></code> 节点将导致此错误被引发。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.InvalidModificationErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">InvalidModificationErr</code><a class="headerlink" href="#xml.dom.InvalidModificationErr" title="永久链接至目标"></a></dt>
<dd><p>当尝试修改某个节点的类型时被引发。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.InvalidStateErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">InvalidStateErr</code><a class="headerlink" href="#xml.dom.InvalidStateErr" title="永久链接至目标"></a></dt>
<dd><p>当尝试使用未定义或不再可用的的对象时被引发。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.NamespaceErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">NamespaceErr</code><a class="headerlink" href="#xml.dom.NamespaceErr" title="永久链接至目标"></a></dt>
<dd><p>如果试图以 <a class="reference external" href="https://www.w3.org/TR/REC-xml-names/">XML 中的命名空间</a> 建议所不允许的方式修改任何对象,则会引发此异常。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.NotFoundErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">NotFoundErr</code><a class="headerlink" href="#xml.dom.NotFoundErr" title="永久链接至目标"></a></dt>
<dd><p>当某个节点不存在于被引用的上下文中时引发的异常。 例如,<code class="xref py py-meth docutils literal notranslate"><span class="pre">NamedNodeMap.removeNamedItem()</span></code> 将在所传入的节点不在于于映射中时引发此异常。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.NotSupportedErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">NotSupportedErr</code><a class="headerlink" href="#xml.dom.NotSupportedErr" title="永久链接至目标"></a></dt>
<dd><p>当具体实现不支持所请求的对象类型或操作时被引发。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.NoDataAllowedErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">NoDataAllowedErr</code><a class="headerlink" href="#xml.dom.NoDataAllowedErr" title="永久链接至目标"></a></dt>
<dd><p>当为某个不支持数据 的节点指定数据时被引发。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.NoModificationAllowedErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">NoModificationAllowedErr</code><a class="headerlink" href="#xml.dom.NoModificationAllowedErr" title="永久链接至目标"></a></dt>
<dd><p>当尝试修改某个不允许修改的对象(例如只读节点)时被引发。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.SyntaxErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">SyntaxErr</code><a class="headerlink" href="#xml.dom.SyntaxErr" title="永久链接至目标"></a></dt>
<dd><p>当指定了无效或非法的字符串时被引发。</p>
</dd></dl>
<dl class="exception">
<dt id="xml.dom.WrongDocumentErr">
<em class="property">exception </em><code class="sig-prename descclassname">xml.dom.</code><code class="sig-name descname">WrongDocumentErr</code><a class="headerlink" href="#xml.dom.WrongDocumentErr" title="永久链接至目标"></a></dt>
<dd><p>当将某个节点插入非其当前所属的另一个文档,并且具体实现不支持从一个文档向一个文档迁移节点时被引发。</p>
</dd></dl>
<p>DOM 建议映射中针对上述异常而定义的异常代码如下表所示:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 54%" />
<col style="width: 46%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>常数</p></th>
<th class="head"><p>异常</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">DOMSTRING_SIZE_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.DomstringSizeErr" title="xml.dom.DomstringSizeErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">DomstringSizeErr</span></code></a></p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">HIERARCHY_REQUEST_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.HierarchyRequestErr" title="xml.dom.HierarchyRequestErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">HierarchyRequestErr</span></code></a></p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">INDEX_SIZE_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.IndexSizeErr" title="xml.dom.IndexSizeErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">IndexSizeErr</span></code></a></p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">INUSE_ATTRIBUTE_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.InuseAttributeErr" title="xml.dom.InuseAttributeErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">InuseAttributeErr</span></code></a></p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">INVALID_ACCESS_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.InvalidAccessErr" title="xml.dom.InvalidAccessErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">InvalidAccessErr</span></code></a></p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">INVALID_CHARACTER_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.InvalidCharacterErr" title="xml.dom.InvalidCharacterErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">InvalidCharacterErr</span></code></a></p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">INVALID_MODIFICATION_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.InvalidModificationErr" title="xml.dom.InvalidModificationErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">InvalidModificationErr</span></code></a></p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">INVALID_STATE_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.InvalidStateErr" title="xml.dom.InvalidStateErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">InvalidStateErr</span></code></a></p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">NAMESPACE_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.NamespaceErr" title="xml.dom.NamespaceErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">NamespaceErr</span></code></a></p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">NOT_FOUND_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.NotFoundErr" title="xml.dom.NotFoundErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">NotFoundErr</span></code></a></p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">NOT_SUPPORTED_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.NotSupportedErr" title="xml.dom.NotSupportedErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">NotSupportedErr</span></code></a></p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">NO_DATA_ALLOWED_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.NoDataAllowedErr" title="xml.dom.NoDataAllowedErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">NoDataAllowedErr</span></code></a></p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">NO_MODIFICATION_ALLOWED_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.NoModificationAllowedErr" title="xml.dom.NoModificationAllowedErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">NoModificationAllowedErr</span></code></a></p></td>
</tr>
<tr class="row-odd"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">SYNTAX_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.SyntaxErr" title="xml.dom.SyntaxErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">SyntaxErr</span></code></a></p></td>
</tr>
<tr class="row-even"><td><p><code class="xref py py-const docutils literal notranslate"><span class="pre">WRONG_DOCUMENT_ERR</span></code></p></td>
<td><p><a class="reference internal" href="#xml.dom.WrongDocumentErr" title="xml.dom.WrongDocumentErr"><code class="xref py py-exc docutils literal notranslate"><span class="pre">WrongDocumentErr</span></code></a></p></td>
</tr>
</tbody>
</table>
</section>
</section>
<section id="conformance">
<span id="dom-conformance"></span><h2>一致性<a class="headerlink" href="#conformance" title="永久链接至标题"></a></h2>
<p>本节描述了 Python DOM API、W3C DOM 建议以及 Python 的 OMG IDL 映射之间的一致性要求和关系。</p>
<section id="type-mapping">
<span id="dom-type-mapping"></span><h3>类型映射<a class="headerlink" href="#type-mapping" title="永久链接至标题"></a></h3>
<p>将根据下表将DOM规范中使用的IDL类型映射为Python类型。</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 30%" />
<col style="width: 70%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>IDL 类型</p></th>
<th class="head"><p>Python 类型</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">boolean</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">long</span> <span class="pre">int</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">unsigned</span> <span class="pre">int</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DOMString</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">str</span></code><code class="docutils literal notranslate"><span class="pre">bytes</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">null</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">None</span></code></p></td>
</tr>
</tbody>
</table>
</section>
<section id="accessor-methods">
<span id="dom-accessor-methods"></span><h3>访问器方法<a class="headerlink" href="#accessor-methods" title="永久链接至标题"></a></h3>
<p>从 OMG IDL 到 Python 的映射以类似于 Java 映射的方式定义了针对 IDL <code class="docutils literal notranslate"><span class="pre">attribute</span></code> 声明的访问器函数。 映射以下 IDL 声明</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="n">readonly</span> <span class="n">attribute</span> <span class="n">string</span> <span class="n">someValue</span><span class="p">;</span>
<span class="n">attribute</span> <span class="n">string</span> <span class="n">anotherValue</span><span class="p">;</span>
</pre></div>
</div>
<p>会产生三个访问器函数: <code class="xref py py-attr docutils literal notranslate"><span class="pre">someValue</span></code>&quot;get&quot; 方法 (<code class="xref py py-meth docutils literal notranslate"><span class="pre">_get_someValue()</span></code>),以及 <code class="xref py py-attr docutils literal notranslate"><span class="pre">anotherValue</span></code>&quot;get&quot;&quot;set&quot; 方法 (<code class="xref py py-meth docutils literal notranslate"><span class="pre">_get_anotherValue()</span></code><code class="xref py py-meth docutils literal notranslate"><span class="pre">_set_anotherValue()</span></code>)。 特别地,该映射不要求 IDL 属性像普通 Python 属性那样可访问: <code class="docutils literal notranslate"><span class="pre">object.someValue</span></code> <em>并非</em> 必须可用,并可能引发 <a class="reference internal" href="exceptions.html#AttributeError" title="AttributeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">AttributeError</span></code></a></p>
<p>但是Python DOM API 则 <em>确实</em> 要求普通属性访问可用。 这意味着由 Python IDL 解译器生成的典型代理有可能会不可用,如果 DOM 对象是通过 CORBA 来访问则在客户端可能需要有包装对象。 虽然这确实要求为 CORBA DOM 客户端进行额外的考虑,但具有从 Python 通过 CORBA 使用 DOM 经验的实现并不会认为这是个问题。 已经声明了 <code class="docutils literal notranslate"><span class="pre">readonly</span></code> 的属性不必在所有 DOM 实现中限制写入访问。</p>
<p>在 Python DOM API 中,访问器函数不是必须的。 如果提供,则它们应当采用由 Python IDL 映射所定义的形式,但这些方法会被认为不必要,因为这些属性可以从 Python 直接访问。 永远都不要为 <code class="docutils literal notranslate"><span class="pre">readonly</span></code> 属性提供 &quot;set&quot; 访问器。</p>
<p>IDL 定义没有完全体现 W3C DOM API 的要求,如特定对象的概念,又如 <code class="xref py py-meth docutils literal notranslate"><span class="pre">getElementsByTagName()</span></code> 的返回值为 &quot;live&quot; 等。 Python DOM API 并不强制具体实现执行这些要求。</p>
</section>
</section>
</section>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="../contents.html">目录</a></h3>
<ul>
<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.dom</span></code> --- 文档对象模型 API</a><ul>
<li><a class="reference internal" href="#module-contents">模块内容</a></li>
<li><a class="reference internal" href="#objects-in-the-dom">DOM 中的对象</a><ul>
<li><a class="reference internal" href="#domimplementation-objects">DOMImplementation 对象</a></li>
<li><a class="reference internal" href="#node-objects">节点对象</a></li>
<li><a class="reference internal" href="#nodelist-objects">节点列表对象</a></li>
<li><a class="reference internal" href="#documenttype-objects">文档类型对象</a></li>
<li><a class="reference internal" href="#document-objects">文档对象</a></li>
<li><a class="reference internal" href="#element-objects">元素对象</a></li>
<li><a class="reference internal" href="#attr-objects">Attr 对象</a></li>
<li><a class="reference internal" href="#namednodemap-objects">NamedNodeMap 对象</a></li>
<li><a class="reference internal" href="#comment-objects">注释对象</a></li>
<li><a class="reference internal" href="#text-and-cdatasection-objects">Text 和 CDATASection 对象</a></li>
<li><a class="reference internal" href="#processinginstruction-objects">ProcessingInstruction 对象</a></li>
<li><a class="reference internal" href="#exceptions">异常</a></li>
</ul>
</li>
<li><a class="reference internal" href="#conformance">一致性</a><ul>
<li><a class="reference internal" href="#type-mapping">类型映射</a></li>
<li><a class="reference internal" href="#accessor-methods">访问器方法</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h4>上一个主题</h4>
<p class="topless"><a href="xml.etree.elementtree.html"
title="上一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.etree.ElementTree</span></code> --- ElementTree XML API</a></p>
<h4>下一个主题</h4>
<p class="topless"><a href="xml.dom.minidom.html"
title="下一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">xml.dom.minidom</span></code> --- 最小化的 DOM 实现</a></p>
<div role="note" aria-label="source link">
<h3>本页</h3>
<ul class="this-page-menu">
<li><a href="../bugs.html">报告 Bug</a></li>
<li>
<a href="https://github.com/python/cpython/blob/3.8/Doc/library/xml.dom.rst"
rel="nofollow">显示源代码
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>导航</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="总目录"
>索引</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python 模块索引"
>模块</a> |</li>
<li class="right" >
<a href="xml.dom.minidom.html" title="xml.dom.minidom --- 最小化的 DOM 实现"
>下一页</a> |</li>
<li class="right" >
<a href="xml.etree.elementtree.html" title="xml.etree.ElementTree --- ElementTree XML API"
>上一页</a> |</li>
<li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="https://www.python.org/">Python</a> &#187;</li>
<li class="switchers">
<div class="language_switcher_placeholder"></div>
<div class="version_switcher_placeholder"></div>
</li>
<li>
</li>
<li id="cpython-language-and-version">
<a href="../index.html">3.8.20 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" >Python 标准库</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="markup.html" >结构化标记处理工具</a> &#187;</li>
<li class="right">
<div class="inline-search" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="快速搜索" aria-label="快速搜索" type="text" name="q" />
<input type="submit" value="转向" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
|
</li>
</ul>
</div>
<div class="footer">
&copy; <a href="../copyright.html">版权所有</a> 2001-2024, Python Software Foundation.
<br />
This page is licensed under the Python Software Foundation License Version 2.
<br />
Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.
<br />
<br />
The Python Software Foundation is a non-profit corporation.
<a href="https://www.python.org/psf/donations/">Please donate.</a>
<br />
<br />
最后更新于 12月 09, 2024.
<a href="https://docs.python.org/3/bugs.html">Found a bug</a>?
<br />
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 2.4.4.
</div>
</body>
</html>