У меня проблема с тем, что я не могу выбрать конкретный узел XML, который необходимо удалить. Я уже пытался выбрать узел с помощью XPath, который отлично работает для некоторых файлов XML, но я не могу определить правильный XPath для узла в более сложном файле.
Кто-нибудь знает бесплатный инструмент, который может загрузить XML-файл, чтобы пользователь мог выбрать определенный узел и получить точный XPath, не имея перечисления в пути?
/root/anything[2]
<- к сожалению, я не могу использовать такое утверждение, потому что номер элемента может измениться. Мне нужно выражение, основанное на атрибуте. </p>
Если для этой операции нет бесплатного инструмента, кто-нибудь знает другой способ, как я могу выбрать нужный узел?
Пример XML:
Корневой узел: SmsFormData
Атрибуты: xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns: xsd =" http://www.w3.org/2001/XMLSchema" FormatVersion = "1.0" xmlns = "http://schemas.microsoft.com/SystemsManagementServer/2005/03/ConsoleFramework"
Дочерний узел: Форма
Атрибуты: Id = "некоторый GUID" CustomData = "Некоторые данные" FormType = "некоторый тип" ForceRefresh = "false"
Дочерний / дочерний узел: Страницы
Дочерний / Дочерний / дочерний узел: Страница
Атрибуты: VendorId = "VendorName" Id = "некоторый GUID" Assembly = "имя файла dll" Пространство имен = "некоторое пространство имен" Тип = "некоторое Тип" HelpID = "">
Мое выражение xPath для выбора этой конкретной страницы теперь будет:
xPath = /SmsFormData/Form/Pages/Page[@Id="some Guid"]
Для выбора я использую следующий код vbscript:
Set objDOM = CreateObject("Msxml2.DOMDocument.4.0")
objDOM.async = false
objDOM.load(file)
set objNode = objDOM.selectSingleNode(xPath)
Проблема в том, что объект objNode
пуст. Узел не выбран, но почему?