【问题标题】:How to handle duplicate attribute names and hexadecimal values如何处理重复的属性名称和十六进制值
【发布时间】:2012-04-10 12:38:50
【问题描述】:

我有一个像这样的未格式化的 XML 文件:

<ROOT>
    <A0>Hi</A0>
    <A1 A="hi" A="how" A="are" A="You?"></A1>
    <A2 A2="Bye"> </A2>
    <A3>In this tag have hexadecimal value</A3>
</ROOT>

问题:

  1. 如何处理标签&lt;A1&gt;中的重复属性名称?
  2. 如何处理标记&lt;A3&gt; 中的十六进制值?

我必须使用这种类型的文件作为 SSIS 包中的源。

谢谢

【问题讨论】:

  • 1.格式良好的 XML 文档不能具有相同名称的属性。 2. 不清楚"How handle Hexadecimal values " 是什么意思,您还没有确切说明您希望以何种方式处理这些内容。请编辑问题并使其更有意义。
  • 如果这是您的要求,那么您的文件不是 XML 文件;)。如果您尝试使用一些现有的解析器,您可能会遇到很多麻烦,而那些可以工作的解析器可能会例如。停在下一个(或上一个)版本。我想我会尝试一些面向 HTML 的解析器,因为那里有一些疯狂的网站,所以他们可能不会对您的文档内容如此挑剔。

标签: xml xslt


【解决方案1】:
<ROOT>
  <A0>Hi</A0>
  <A1 A="hi" A="how" A="are" A="You?"></A1>
  <A2 A2="Bye"> </A2>
  <A3>In this tag have Hexa deimal value </A3>
</ROOT>

根据定义,格式正确的 XML 文档中不允许有重复的属性(在同一元素上)。

因此,提供的文本不是 XML 文档,不能被任何兼容的 XML 解析器解析——因此,所描述的问题不存在。

【讨论】:

  • 感谢您的快速回复。是否有任何解决方案可以解决十六进制值之类的问题(^ 不完全是倒 L 形)。
  • @ram.bi:你根本没有描述你想要什么十六进制值处理。
  • 从我的源 XML 我得到一些十六进制值(不同的符号,如反向 L 等)。 XML 不处理这些值我该如何处理?
  • 请提出一个新问题。提供格式良好的 XML 文档(提前验证它的解析没有错误)。拥有准确的文本节点并明确指定不需要的字符以及您想要的字符。诸如“XML 不处理这些值”之类的语句令人困惑。这是什么意思?
  • 我收到以下错误::Character ' ',十六进制值 0x2 在 XML 文档中是非法的。
猜你喜欢
  • 1970-01-01
  • 2013-06-16
  • 2018-12-21
  • 1970-01-01
  • 2012-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-31
相关资源
最近更新 更多