update README

This commit is contained in:
csh 2025-08-06 18:14:29 +08:00
parent 7a65e50157
commit 9062457251
1 changed files with 79 additions and 0 deletions

View File

@ -146,6 +146,85 @@ ppr1.Jc.Val; // 得到"left"
ppr1.WordWrap.Val; // ppr1不存在wordWrap但是ppr2存在wordWrap所以回落到ppr2的wordWrap获取到"1"
```
### Copy
`copy`方法支持将其他的类属性和子节点的属性复制过来,注意:复数的类无法进行复制,因为不确定怎么进行复制
```xml
// pPr1
<w:pPr>
<w:jc w:val="left" />
<w:spacing w:after="160" />
</w:pPr>
// pPr2
<w:pPr>
<w:jc w:val="right" />
<w:wordWrap w:val="1" />
</w:pPr>
```
```go
// 假设要将ppr2的属性复制到ppr1
ppr1.Copy(ppr2);
```
```xml
// 复制完毕后ppr1 xml如下
// 因为ppr2没有w:spacing所以保留ppr1的w:spacing
<w:pPr>
<w:jc w:val="right" />
<w:wordWrap w:val="1" />
<w:spacing w:after="160" />
</w:pPr>
```
```xml
// 这样是不能复制的w:r是复数
<w:p>
<w:r w:rsidR="00CC4888">
<w:t>test</w:t>
</w:r>
<w:r w:rsidR="00CD1015">
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
</w:rPr>
<w:t></w:t>
</w:r>
</w:p>
获取r并不是p.r进行获取而是p.Rs();
```
### Clone
`Clone`方法是克隆出一个一样的对象出来,但是`Parent`是`nil`
```xml
<w:p>
<w:pPr>
<w:jc w:val="right" />
<w:wordWrap w:val="1" />
<w:spacing w:after="160" />
</w:pPr>
<w:r w:rsidR="00CC4888">
<w:t>test</w:t>
</w:r>
<w:r w:rsidR="00CD1015">
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
</w:rPr>
<w:t></w:t>
</w:r>
</w:p>
```
```go
new_p := p.Clone(); // 与p的xml一致
echo new_p.Parent; // nil
document.InsertAfter(new_p, p); // 插入一样的段落在p之后此时会自动设置new_p.Parent := document
```
## Unit 单元
- `DocxML`包含 `docx`文件独有的 xml 节点对象,一般 xml 的命名空间是 `w`,如 `w:p`