2013-04-09 4 views
1

Я пытаюсь проанализировать файл document.xml файла .docx. Я бы хотел найти текст, а затем вернуть узел, в котором находится текст, поэтому я могу перейти к родительскому узлу и вставить новый тип узла. Это то, что у меня есть до сих пор, я пытался использовать узел SelectSingle, но я не могу получить правильный путь («путь верен до/w: body). Поэтому я хотел бы просто найти текст и получить узел таким образом, если тот возможно.Получить Xml Текстовый узел ID

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)); 

ответ

Смежные вопросы