Я пытаюсь выбрать конкретный <Relationships>
узел с XML в VB.NET.Проблема, которая возникает, заключается в том, что при моем установленном XPath я получаю сообщение об ошибке:
Требуется менеджер пространства имен или XsltContext.Этот запрос имеет префикс, переменную или пользовательскую функцию.
Это XPath, который я использую:
Dim parentNode As XmlNode = myXmlDocument.SelectSingleNode("/pkg:package/pkg:part[@pkg:name='/_rels/.rels']/pkg:xmlData/Relationships[@xmlns='http://schemas.openxmlformats.org/package/2006/relationships']")
Я понимаю, что вы должны добавитьменеджер пространства имен, который я пытался сделать.Тем не менее, я перепутал все определения и примеры, которые я видел, и поэтому у меня не работает код:
Dim namespaceManager As XmlNamespaceManager = New XmlNamespaceManager(myXmlDocument.NameTable)
namespaceManager.AddNamespace("xmlns:pkg", "http://schemas.microsoft.com/office/2006/xmlPackage")
namespaceManager.AddNamespace("xmlns", "http://schemas.openxmlformats.org/package/2006/relationships")
Приведенный выше код привел к следующей ошибке во втором пространстве имен I 'm добавление:
Префикс "xmlns" зарезервирован для использования XML.
Мой XML-файл выглядит так:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="PowerPoint.Show"?>
<pkg:package
xmlns:pkg="http://schemas.microsoft.com/office/2006/xmlPackage">
<pkg:part pkg:name="/_rels/.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml" pkg:padding="512">
<pkg:xmlData>
<Relationships
xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/>
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="ppt/presentation.xml"/>
</Relationships>
</pkg:xmlData>
</pkg:part>
</pkg:package>
I 'Я не понимаю, как вы должны работать с этими пространствами имен в VB.NET и , чтобы включить их в ваш XPath.Есть кто-нибудь, кто сейчас, как решить эту проблему и выбрать <Relationships>
узел?