• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

XML中的常见问题 (四)_xml

xml 搞代码 7年前 (2018-06-15) 116次浏览 已收录 0个评论

    在 xml 对象模型中如何处理空白字符?

  有些时候,XML 对象模型将显示包含空白字符的 TEXT 节点。空白字符被截断后,多半会带来一些混乱。例如下面的 XML 例子:

   ]>
  Smith
  John

  生成下列树:

   Processing Instruction: xml

http://www.gaodaima.com/33485.htmlXML中的常见问题 (四)_xml

  DocType: person
  ELEMENT: person
  TEXT:
  ELEMENT: lastname
  TEXT:
  ELEMENT: firstname
  TEXT:

  名字和姓氏两边是只包含空白字符的 TEXT 节点,因为“person”元素的内容模型是 MIXED;它包含 #PCDATA 关键字。MIXED 内容模型指定元素之间可以有文本存在。因此,下面的内容也是正确的:

  My last name is Smith and my first name is
  John

  结果是类似于下面的树:

  ELEMENT: person
  TEXT: My last name is
  ELEMENT: lastname
  TEXT: and my first name is
  ELEMENT: firstname
  TEXT:

  如果没有单词“is”之后和 之前的空白字符,以及 之后和单词“and”之前的空白字符,那么句子便无法理解。因此,对于 MIXED 内容模型来说,文字组合、空白字符和元素都是相关的。对于非 MIXED 内容模型来说则不是这样。

  要使只有空白字符的 TEXT 节点消失,请从“person”元素声明中删除 #PCDATA 关键字:

  结果是下面清晰的树:

  Processing Instruction: xml
  DocType: person
  ELEMENT: person
  ELEMENT: lastname
  ELEMENT: firstname

  XML 声明做什么?

  XML 声明必须列在 XML 文档的顶部:

  它指定下面的项目:

  该文档是 XML 文档。在丢失或者还没有指定 MIME 类型时 MIME 探测器可以用它来检测文件是否为类型 text/xml。
  文档符合 XML 1.0 规范。在以后 XML 有其他版本时这一点很重要。
  文档字符编码。编码属性是可选的,默认为 UTF-8。
  注意:XML 声明必须在 XML 文档的第一行,因此下面的 XML 文件:

  产生下面的分析错误:

  无效的 xml 声明。
  行 0000002:
  位置  0000007: ——^
  注意:XML 声明是可选的。如果需要在顶部指定注释或者处理指令,那么请不要放入 XML 声明。但是,默认的编码将为 UTF-8。

如何以可读格式打印我的 XML 文档?

  在用 DOM 从零开始构造文档以产生 XML 文件时,任何内容都在一行上,相互之间没有空格。这是默认的行为。

  构造在 Internet Explorer 5 中的默认 XSL 样式表,以可读格式显示和打印 XML 文档。例如,如果已经安装了 IE5,请尝试查看 nospace.xml 文件。浏览器中应该显示下面的树:

  -
  -
  XYZ
  12.56

  在 XML 中没有插入空白字符。

  打印可读 XML 是非常有趣的,特别是有定义不同类型内容模型的 DTD 时。例如,在混合内容模型 (#PCDATA) 下不能插入空格,因为它可能改变内容的含义。比如请考虑下面的 XML:

  Elephant
  这最好不输出为:

  E
  lephant
  因为单词边界不再正确。

  所有这些都使自动化打印成为问题。如果不需要打印可读 XML,那么可以使用 DOM 在适当的位置插入空白字符作为文本节点。

[1] [2] [3] 下一页  

欢迎大家阅读《XML中的常见问题 (四)_xml》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:XML中的常见问题 (四)_xml

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址