Вопрос

Мне нужно преобразовать файл HTML в формат ixbrl. Формат IXBRL в основном является HTML с некоторыми встраиваемыми узлами или некоторой информацией файла HTML, завернутой под тегами IXBRL. Для этого мне нужно будет искать и удалять некоторые узлы из HTML-файла и обернуть некоторые узлы под тегами IXBRL.

Я не могу использовать XML DOM, так как он стреляет исключение на тип контента. .NET HTMLDocument Class не поддерживает удаление узлов и заменив их, ни я не мог видеть опцию Сохранить.

Я попытался использовать HTML Agility Package, но он не может найти узлы из-за пространств имен в имени узла, и у него нет возможности указывать пространства имен (линейный менеджер пространства имен в .NET).

Могу ли я указать пространство имен в выражении XPath? Как?

Может кто-нибудь помочь мне в редактировании файлов HTML (или XHTML) с помощью .NET или любой бесплатной библиотеки.

Это было полезно?

Решение

Если вы хотите использовать XPath с пространствами имен, вам просто нужно префикнуть узлы правым пространством имен.

Если ваше пространство имен выглядит так:

xmlns:xbrli="http://www.xbrl.org/2003/instance"

И ваши элементы такие:

<root>
<xbrli:elementname></xbrli:elementname>
<root>

Тогда вы можете выбрать их в XPath, как:

//xbrli:elementname
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top