java - 如何在 OpenXML 中为 java 中的 powerpoint 生成 DataXML

标签 java xml apache-poi powerpoint openxml

我在 Microsoft Power Point 演示幻灯片中添加了一种智能艺术形状。我已经使用 apache POI 在 Java 中检索了该图的数据。

我想使用 apache poi 或任何其他免费的 java API 从头开始​​为该演示文稿生成我自己的 DataXML。我如何生成 DataXML。

enter image description here

演示文稿仅包含层次结构智能艺术对象。 以下是我想要生成数据 XML 的 XML

<cds>
<parent name="Hierarchy Parent">
    <child id="1" name="Child 1"/>
    <child id="2" name="Child 2"/>
</parent>
<parent name="Hierarchy Parent 2">
    <child id="1" name="Child 1"/>
    <child id="2" name="Child 2"/>
</parent>

最佳答案

我在 apache poi 中找不到任何解决方案。 我使用 java 来手动生成 XML。 层次结构应该是这样的。

  1. 使用唯一的 GUID 在指针列表 [ ptlst ] 中创建节点,并在该节点之后创建父节点和同级节点
  2. 将这些父同级节点连接 ID 更改为新的 GUID,但保持不变。
  3. 使用新 GUID(即第 2 步 ^ 的 GUID)在列表 [ cxnlst ] 中创建新连接节点,并更新源和目标 ID 以及第 1 步 GUID。

enter image description here

关于java - 如何在 OpenXML 中为 java 中的 powerpoint 生成 DataXML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30704532/

相关文章:

java - 使用 Apache POI 读取 excel

java - 多个复合 Material 之间第一列的宽度相等

java - 去除 xml 标签开头和结尾之间的空格

java - 使用 log4j 以编程方式登录到多个文件

java - 无法从 spring mvc 中的属性文件读取

当 NestedScrollView 添加到 XML 时,Android Studio 预览消失

java - 通过其 ID 序列化 JAXB 对象?

java - 如何使用XSL动态设置属性值

Java 关闭 Hook 并写入 Excel 工作表

java - 如何使用 apache POI 从 docx 文档中获取段落的字体大小?