XML (.xml)

MIME 类型:text/xml
XML 通用目的的标记语言和结构文档格式.
主要用于计算机网络中不同系统间的数据交换.
用一分层模型表示结构数据.
以包括标记、属性和字符内容的基于树的结构存储数据.
纯文本文件,一般编码为 UTF-8.
XML 是衍生自 Extensible Markup Language(可扩展标记语言)的缩写.
是标准通用标记语言(SGML)的子集.
自1996年由 XML Working Group 开发.
于2001年作为 W3C 的标准建议 RFC 3076 发布.

Import 与 ExportImport 与 Export

  • 如果可能的话,Import["file.xml"] 对于基于 XML 的文件格式使用特殊的转换器,否则导入文件为通用的 XML 并返回一个 XMLObject 表达式.
  • Import["file.xml", "XML"] 总是导入为通用的 XML.
  • 既然 XML 与 Mathematica 均以树结构表示数据,所以它们之间有一个自然的映射. Mathematica 以嵌套的 XMLElement 对象存储 XML 数据结构,以 XML 数据内嵌于一个 XMLObject 存储整个 XML 文档.
  • Export["file.xml", expr]XMLObjectXMLElement 表达式导出到 XML.
  • XMLObjectXMLElement 以外的类型表达式被导出为 ExpressionML.
  • Import["file.xml"] 返回一个 XMLObject 表达式,以 XMLElement 表达式的树表示符号形式的整个 XML 文档.
  • 默认情况下,Import 以字符串形式返回存储在 XML 的数值数据.
  • Export["file.xml", XMLObject[...]]Export["file.xml", XMLElement[...]] 从一个符号式 XML 表示创建一个 XML 文件.
  • Import["file.xml", elem] 从一个 XML 文件导入指定的参数.
  • Import["file.xml", {elem, suba, subb, ...}] 导入一个子参数.
  • Import["file.xml", {{elem1, elem2, ...}}] 导入多个参数.
  • 导入格式可以由 Import["file", "XML"]Import["file", {"XML", elem, ...}] 指定.
  • Import["file.html", "XML"] 在导入前,把 HTML 转换成格式良好的 XML.
  • Export["file.xml", expr, elem] 通过把 expr 作为指定参数 elem 创建一个 XML 文件.
  • Export["file.xml", {expr1, expr2, ...}, {{elem1, elem2, ...}}] 把每一个 指定为相应的
  • Export["file.xml", expr, opt1->val1, ...] 导出具有指定值的指定选项参数的 expr.
  • Export["file.xml", {elem1->expr1, elem2->expr2, ...}, "Rules"] 使用规则指定要导出的参数.
  • ImportExport 的完整信息请见参考页.
  • ImportStringExportString 支持 XML 格式.

参数参数

  • Import 的通用参数:
  • "Elements"该文件可用的参数和选项列表
    "Rules"每个参数和选项的完整规则列表
    "Options"选项、属性和设置的规则列表
  • 表示数据的参数:
  • "CDATA"以字符串列表表示的 CDATA 部分
    "Comments"以字符串列表表示的 XML 注释
    "EmbeddedDTD"包含在 XML 文档中的 DTD
    "Plaintext"文件的纯文本表示
    "Tags"文件中存在的所有标记列表
    "XMLObject"作为符号式 XML 表达式的整个文档
    "XMLElement"嵌套的 XMLElement 对象
  • 默认情况下,Import 使用参数.

选项选项

  • Import 选项:
  • "AllowRemoteDTDAccess"True是否在网络中尝试获取外部的 DTD
    "AllowUnrecognizedEntities"Automatic是否允许解析 XML 文档中无法识别的实体
    "IncludeDefaultedAttributes"False是否对属性填充默认值
    "IncludeEmbeddedObjects"None要包括的()内嵌对象
    "IncludeNamespaces"Automatic是否返回完全合格的标记和属性名称
    "NormalizeWhitespace"Automatic是否去除开头和结尾的空格并在字符数据中把连续的空格减少到一单个空格
    "PreserveCDATASections"False是否把字符数据部分保留为特殊对象
    "ReadDTD"True是否读取外部的 DTD
    "ValidateAgainstDTD"Automatic是否按指定的 DTD 验证文档
  • Export 选项:
  • "AttributeQuoting""'"对于属性值指定分隔符
    "ElementFormatting"Automatic导出文档中长字符串的参数的缩进以及断行
    "Entities"None用名称实体取代字符的规则
    "NamespacePrefixes"{}命名空间的前缀命名,形式为

范例范例打开所有单元关闭所有单元

基本范例 (1)基本范例 (1)

以符号式 XML 导入一个 XML 样本文件:

In[1]:=
Click for copyable input
Out[1]=

显示文件中可用的 Import 参数:

In[2]:=
Click for copyable input
Out[2]=

导入所有 CDATA 部分:

In[3]:=
Click for copyable input
Out[3]=

转换为纯文本:

In[4]:=
Click for copyable input
Out[4]=

获取样本文件中存在的所有 XML 标记列表:

In[5]:=
Click for copyable input
Out[5]=
版本 4.2 的新功能 | 版本 7 修改功能
New to Mathematica? Find your learning path »
Have a question? Ask support »