InDesign使用PHP

时间:2015-09-18 08:42:04

标签: php xml-parsing adobe-indesign

我有一个从InDesign导出的XML,我需要将其转换为HTML。除了子弹和名单外,一切都很简单。 InDesign导出XML,如:

<paragraph>First paragraph</paragraph>
<list_level_1>List 1 - Item 1</list_level_1>
<list_level_1>List 1 - Item 2</list_level_1>
<list_level_1>List 1 - Item 3</list_level_1>
<list_level_2>List 1 - Item 3.1</list_level_2>
<list_level_2>List 1 - Item 3.2</list_level_2>
<list_level_1>List 1 - Item 4</list_level_1>
<paragraph>Second paragraph</paragraph>
<list_level_1>List 2 - Item 1</list_level_1>
<list_level_1>List 2 - Item 2</list_level_1>
<paragraph>Third paragraph</paragraph>

我在PHP5中手动解析XML到HTML。之前的代码片段应为:

<p>First paragraph</p>
<ol>
    <li>List 1 - Item 1</li>
    <li>List 1 - Item 2</li>
    <li>List 1 - Item 3<ol>
      <li>List 1 - Item 3.1</li>
      <li>List 1 - Item 3.2</li>
    </ol></li>
    <li>List 1 - Item 4</li>
</ol>
<p>Second paragraph</p>
<ol>
    <li>List 2 - Item 1</li>
    <li>List 2 - Item 2</li>
</ol>
<p>Third paragraph</p>

当它很简单(一级)列表时,没问题。说到嵌套列表,我结束了。可以使用任何&lt;段落&gt;停止列表并且应妥善关闭所有以前创建的列表。

非常欢迎任何建议。

2 个答案:

答案 0 :(得分:1)

我会考虑XSLT;)

答案 1 :(得分:0)

周末我创造了一个解决方案。当然可能有更好的方法,但我不熟悉XSLT所以我在纯PHP中尝试过。这是我的解决方案:

NULL

非常感谢大家关注我的问题。 祝你有愉快的一天。