У меня возникла проблема с тем, что я не могу выбрать конкретный узел XML, который необходимо удалить. Я уже пытался выбрать узел, используя XPath, который отлично подходит для некоторых файлов XML, но я не могу понять правильный XPath для узла в более сложном файле.Как удалить определенный узел в файле XML с помощью vbscript
Кто-нибудь знает бесплатный инструмент, который может загружать XML-файл, чтобы пользователь мог выбрать конкретный узел и получить точный XPath без перечисления на пути?
/root/anything[2]
< - к сожалению, я не могу использовать такой оператор, потому что число элементов может измениться. Мне нужно выражение, основанное на атрибуте.
В случае отсутствия бесплатного инструмента для этой операции, кто-нибудь знает другой способ, как я могу выбрать нужный узел?
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 = "ложь"
Детский/Детский узел: Страницы
Ребенок/Ребенок/Детский узел: Page
Атрибуты: VendorID = "Имя_вендора" 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
пуст. Узел не выбран, но почему?
Как об образцах xml, с которыми вы пытаетесь работать? – Kev 2008-10-06 09:50:20