将 DOCX/Word 生成的 XML 转换为 JSON
Converting DOCX / Word-generated XML to JSON
我正在尝试通过 PHP.
将 Word 生成的 XML 文件转换为 JSON
我环顾四周,发现所有 XML 文件的最佳情况是以下代码(甚至在 PHP 文档中):
$xml = simplexml_load_string($xml_string);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
问题是在 simplexml_load_string
之后我得到了一个空的 SimpleXMLElement
对象,其余的步骤无法真正完成。
xml 本身以 :
开头
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:wordDocument
并且标签的前缀为 w:
。
我尝试删除 w:
s 但函数 returns 又是一个空对象。知道我可能会遗漏什么吗?这种生成的 XML 有什么特别之处吗?
看看这个问题:Simplexml_load_string($string) returns an empty object but $string contains xml? code below
非常相似。
你能试着打印 $xml 吗?
也许错误不是 simplexml_load_string 但 json_encode...
BR
马克
@ThW 正确:不要将 OOXML 转换为 JSON。 它无济于事。
OOXML(DOCX 背后的标准)的复杂性无法通过转换为 JSON 来解决。成功的 JSON 转换将是具有挑战性的,并且只会真正提供对使用 XML 文档和 JSON 数据的一般建议的理解。
另见 并注意:
- OOXML 是 documents 的现有高度复杂标准,而不是 data.
- 现有 OOXML 工具基础设施是 100% XML-based。
- 代表文件需要代表 mixed-content
– 有些东西 JSON 不是设计用来做的。1
1 有点讽刺,
OOXML 中很少使用混合内容:通常是文本运行
包裹在 w:r/w:t
个元素中。如果你正在寻找灵感
JSON-based DOCX 表示可能 可能 ,就是这样。
如果您想了解 JSON 如何不驯服 DOCX
复杂性,这也应该有所帮助。 :-)
我正在尝试通过 PHP.
将 Word 生成的 XML 文件转换为 JSON我环顾四周,发现所有 XML 文件的最佳情况是以下代码(甚至在 PHP 文档中):
$xml = simplexml_load_string($xml_string);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
问题是在 simplexml_load_string
之后我得到了一个空的 SimpleXMLElement
对象,其余的步骤无法真正完成。
xml 本身以 :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:wordDocument
并且标签的前缀为 w:
。
我尝试删除 w:
s 但函数 returns 又是一个空对象。知道我可能会遗漏什么吗?这种生成的 XML 有什么特别之处吗?
看看这个问题:Simplexml_load_string($string) returns an empty object but $string contains xml? code below
非常相似。
你能试着打印 $xml 吗? 也许错误不是 simplexml_load_string 但 json_encode...
BR 马克
@ThW
OOXML(DOCX 背后的标准)的复杂性无法通过转换为 JSON 来解决。成功的 JSON 转换将是具有挑战性的,并且只会真正提供对使用 XML 文档和 JSON 数据的一般建议的理解。
另见
- OOXML 是 documents 的现有高度复杂标准,而不是 data.
- 现有 OOXML 工具基础设施是 100% XML-based。
- 代表文件需要代表 mixed-content – 有些东西 JSON 不是设计用来做的。1
1 有点讽刺,
OOXML 中很少使用混合内容:通常是文本运行
包裹在 w:r/w:t
个元素中。如果你正在寻找灵感
JSON-based DOCX 表示可能 可能 ,就是这样。
如果您想了解 JSON 如何不驯服 DOCX
复杂性,这也应该有所帮助。 :-)