背景: #EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读新闻

XML中的常见问题 (四)

[日期:2006-01-17] 作者: [字体: ]

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

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


  ]>

  Smith
  John


  生成下列树:


  Processing Instruction: 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 中的常见问题 (一) (二) (三)



12345下一页  GO
阅读:
打印