除了使用
document.Save(stream, SaveFormat.FlatOpc);
方法,有无其他属性可以直接获取到节点的XML结构内容?
/// <summary>
/// 将 Aspose.Words.Node 转换为 XDocument
/// </summary>
/// <param name="node">指定需要转换的节点</param>
/// <returns></returns>
public static XDocument ConvertNodeToXmlAsync(this Node node)
{
// 创建新的 Word 文档
var newDoc = new Document();
var importedNode = newDoc.ImportNode(node, true);
newDoc.FirstSection.Body.AppendChild(importedNode);
using var stream = new MemoryStream();
newDoc.Save(stream, Aspose.Words.Saving.SaveOptions.CreateSaveOptions(SaveFormat.FlatOpc));
// 读取流数据并转换为 XML
var xmlOutput = Encoding.UTF8.GetString(stream.ToArray());
return XDocument.Parse(xmlOutput);
}
目前我是通过这种办法间接获取某个节点的XML,但是这样对于大文件很耗费性能,Aspose.Words中有无可以对node的直接通过属性获取其XML内容的。