Удаление необходимо префикс XPath пути с пространством имен? - PullRequest
0 голосов
/ 23 октября 2018

Я новичок в XPath, поэтому я надеюсь, что здесь используется правильная терминология ...

У меня есть XML-файл ~ 200k, который я бы хотел проанализировать с .Net XPath.Я проверил свои запросы с помощью онлайн-инструмента и заставил их работать так, как я хочу.Однако, когда я использую те же самые запросы в .Net, они всегда ничего не возвращают.

После долгих хлопот я обнаружил, что могу «исправить» эту проблему, определив менеджер пространства имен, а затем добавив префикс к этому пространству имен:

XMLDoc = New XmlDocument()
XMLDoc.Load(FilePath)
mgr = New XmlNamespaceManager(XMLDoc.NameTable)
mgr.AddNamespace("a", "a.xsd")
Root = XMLDoc.DocumentElement
prop = Root.SelectSingleNode("//a:Properties/:PropertyData//a:boy/a:does/a:this/a:get/a:annoying", mgr)

Необходимость использования a: везде и mgr затрудняет чтение и ввод кода.Есть ли способ, как я могу это исправить, чтобы мне не нужно было разбрасывать сотни a: везде?

Фрагмент файла:

 <Properties>
    <PropertyData>
      <PropertyName>a place</PropertyName>
      <Address>APlace Road</Address>
      <City>NYC</City>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...