【问题标题】:Malformed XML Cleanup - Data not in tags格式错误的 XML 清理 - 数据不在标签中
【发布时间】:2012-09-26 16:03:16
【问题描述】:

所以我有带有完美嵌套标签的 XML,但是我在标签之外直接得到了奇怪的字符,例如:

<root><a_tag>Some perfectly valid string</a_tag> this
<b_tag>more data</b_tag>  
<c_tag>some more data</c_tag> 0</root>

PHP 中是否有本机执行此操作的函数,或者我需要一个正则表达式来完成它?

我已经在运行的唯一功能来自这个答案:https://stackoverflow.com/a/3466049

编辑:用emacs打开文件时,每行的末尾有一组字符如:^@或^@S

另外 - 这些文档是使用 InDesign 生成的。

谢谢!

【问题讨论】:

  • 当你说结束时,你会从什么开始制作上述内容。
  • 有各种超出范围的字符,stripInvalidXml 函数已将其删除。
  • 好吧,看起来它有点贪心,也清除了一些标签,或者你开始使用的 xml 展示了类似的合法但难以使用的结构。
  • 我认为它一开始就在那里,编辑了原始问题以反映我在执行任何修改之前看到的内容。
  • 我们在这里认真地穿越溪流。这个词和符号0是你的怪异角色吗?查看您的 xml,我看到了一个结构很差的 xml,但我没有看到无效的 xml 或任何有趣的字符。如果您想查看那段代码是否应该解决您的问题,请使用十六进制查看器并检查字符范围。

标签: php xml malformed


【解决方案1】:

在浪费了很多时间之后,问题只是 Adob​​e InDesign 在导出的 XML 中生成了很多奇怪的字符 - 最终的解决方案是更改 InDesign 设置,称为:

Remap Break, Whitespace, and Special Characters

这立即解决了 XML 问题。

【讨论】:

    猜你喜欢
    • 2017-11-20
    • 2013-06-22
    • 2022-12-21
    • 2015-04-19
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多