Я читаю и пишу XML-файлы с помощью Microsoft XML Core Services 6.0 (MSXML). При написании содержимого элемента с «специальными» символами, которые должны быть экранированы в контексте xml, например, написать «&
» как &
. Мне не нужно заботиться об этом, потому что MSXML делает это преобразование. Это означает, что если я присваиваю элемент элементу, например. oXMLElement.Text = "1 & 2"
, MSXML фактически пишет oXMLElement.Text = 1 & 2
, когда я создаю XML-файл. Это довольно хорошо и экономит мне некоторую работу.MSXML/XPath: специальные символы
Теперь, что я хочу сделать, это «замаскировать» XML-строки автоматически. Итак, я прочитал из XML-файла с помощью метода selectNodes
, который работает, добавляя инструкцию XPath, например. //ns:element/text()
. К сожалению, результат-строка, которую я получаю, выглядит как 1 & 2
, а не как 1 & 2
. Есть ли способ сообщить MSXML-объект или, может быть, инструкцию XPath, чтобы дать мне «замаскированную» строку? Я использую MSXML с ObjectPal/Paradox, поэтому лучшим решением будет метод из MSXML-библиотеки или «специального» заявления XPath- .
Можете ли вы показать код, который используете (вызов 'selectNodes()' и немного контекста)? Особенно, как вы получаете строку результата после вызова 'selectNodes()'? Например. вы используете одно из свойств '.nodeValue',' .text' или '.xml'? – LarsH