43 lines
1.1 KiB
Markdown
43 lines
1.1 KiB
Markdown
# Office
|
||
|
||
## 说明
|
||
|
||
将docx、pptx、xlsx等文件中的xml转为tsl对象
|
||
|
||
```xml
|
||
<w:p w14:paraId="6E3ED3BE" w14:textId="77777777" w:rsidR="00C57A1E"
|
||
w:rsidRDefault="00C57A1E" w:rsidP="00C27AE9">
|
||
<w:pPr>
|
||
<w:jc w:val="left" />
|
||
</w:pPr>
|
||
<w:r>
|
||
<w:rPr>
|
||
<w:rFonts w:hint="eastAsia" />
|
||
</w:rPr>
|
||
<w:t>最小申购、赎回单位</w:t>
|
||
</w:r>
|
||
<w:r>
|
||
<w:rPr>
|
||
<w:rFonts w:hint="eastAsia" />
|
||
</w:rPr>
|
||
<w:t>(份)</w:t>
|
||
</w:r>
|
||
</w:p>
|
||
```
|
||
|
||
上述是一个docx中的段落的xml,序列化为tsl过程如下
|
||
|
||
```txt
|
||
namespace "DOCX" // 设置命名空间为DOCX
|
||
p := new P(); // 创建一个P对象(段落w:p)
|
||
p.Init(node); // 假设node节点是上面的xml指向的Node对象
|
||
p.Deserialize(); // 将node对象的xml序列化到tsl对象
|
||
|
||
// 序列化完毕后,可直接对应取值
|
||
echo p.PPr.Jc.Val; // 输出:left
|
||
|
||
// 在获取存在多个节点的对象时,比如上述的w:r对象是复数的,则需要通过Rs()获取
|
||
// 直接调用Rs()会获取所有的R对象,加上索引会获取第N+1个
|
||
echo p.Rs(1).T.Text; // 输出:(份)
|
||
```
|