1

.docx ファイルの document.xml ファイルを解析しようとしています。テキストを検索して、テキストが配置されているノードを返し、親ノードに移動して新しいノード タイプを挿入できるようにします。これは私がこれまでに持っているもので、SelectSingle ノードを使用しようとしていますが、正しいパスを取得できないようです ("パスは /w:body まで正しいです)。したがって、単に検索したいと思います可能な場合は、その方法でテキストを取得してノードを取得します。

NameTable nt = new NameTable();
XmlNamespaceManager nsManager = new XmlNamespaceManager(nt);
nsManager.AddNamespace("w", wordmlNamespace);

// Get the document part from the package.
// Load the XML in the document part into an XmlDocument instance.
XmlDocument xdoc = new XmlDocument(nt);
xdoc.Load(wdDoc.MainDocumentPart.GetStream());
XmlNode ALL = xdoc.SelectSingleNode("/w:document/w:body/w:p/w:r[w:t='[ALL]']", nsManager);
if (ALL != null)
{
    XmlElement vanish = xdoc.CreateElement( "//w:vanish /");
    XmlNode topNode = ALL.ParentNode.ParentNode;
    XmlNode topParentNode = topNode.ParentNode;
    topParentNode.InsertBefore(vanish,topParentNode.FirstChild);

}

// Save the document XML back to its document part.
xdoc.Save(wdDoc.MainDocumentPart.GetStream(FileMode.Create, FileAccess.Write));
4

1 に答える 1