diff --git a/README.md b/README.md index fc16571..1fddacb 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,85 @@ ppr1.Jc.Val; // 得到"left" ppr1.WordWrap.Val; // ppr1不存在wordWrap,但是ppr2存在wordWrap,所以回落到ppr2的wordWrap获取到"1" ``` +### Copy + +`copy`方法支持将其他的类属性和子节点的属性复制过来,注意:复数的类无法进行复制,因为不确定怎么进行复制 + +```xml +// pPr1 + + + + + +// pPr2 + + + + +``` + +```go +// 假设要将ppr2的属性复制到ppr1 +ppr1.Copy(ppr2); +``` + +```xml +// 复制完毕后ppr1 xml如下 +// 因为ppr2没有w:spacing,所以保留ppr1的w:spacing + + + + + +``` + +```xml +// 这样是不能复制的,w:r是复数 + + + test + + + + + + + + + +获取r并不是p.r进行获取,而是p.Rs(); +``` + +### Clone + +`Clone`方法是克隆出一个一样的对象出来,但是`Parent`是`nil` + +```xml + + + + + + + + test + + + + + + + + +``` + +```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`