|
|
|
Чем вытащить текст элемента?
|
|||
|---|---|---|---|
|
#18+
Hi! Как программно, допустим на C++ или Java, распарсить XML, чтобы найти и вытащить содержимое элемента? То есть, такие исходные данные: <myxml a="1"> kjsdh <bla-bla b="2">sdhfshdfk<dd с="3"/>sdfgsg</bla-bla> dhfkshdf </myxml> Надо вытащить bla-bla со всем содержимым. Результат: <bla-bla b="2">sdhfshdfk<dd с="3"/>sdfgsg</bla-bla> То есть, надо что-то похожее на DOM, но просто возвращающее указатели на начало и конец элемента в исходном массиве. Или лучше SAX, но на каждое событие мне нужно получать не значение алемента/атрибута, а просто указатель в исходном массиве. При этом надо задавать XPath (или хотя-бы просто имя) для указания требуемого мне элемента. Т.е. все элементы распарсивать не нужно. Интересует только заданный. То есть, нужен не DOM и не SAX, а что-то гораздо более быстрое и практически не жрущее память для конкретной задачи - сказать, где начинается и где кончается заданный элемент в исходном XML. Приоритет - максимальная производительность при обработке большого количества больших (порядка 10 Мб) исходных XML. То есть, я могу конечно свой парсер написать на основе исходников xalan, но может, что-то такое уже есть в мире бесплатное и в исходниках, чтобы лисапед не изобретать? ____________________________ С уважением, Лисеев Дмитрий. http://private.peterlink.ru/dimik/ PGP key fingerprint: 09 28 74 28 6C 39 62 29 2E CB 95 03 4F 04 33 73 Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2007, 09:25 |
|
||
|
Чем вытащить текст элемента?
|
|||
|---|---|---|---|
|
#18+
попробуй так: 1. создай файлик xsl который будет выдерать из xml документа нужнный тебе тег к примеру: ?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:sch="http://www.ascc.net/xml/schematron"> <xsl:template match="*"> <xsl:value-of select="bla-bla" /> <xsl:copy-of select="bla-bla" /> </xsl:template> </xsl:stylesheet> 2. Либо просто выводишь xml документ к примеру в консоль, а там его (к примеру под Linux) использешь команду grep и вытаскиваеш по слову bla-bla результат будет тот что тебе надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 13:57 |
|
||
|
|

start [/forum/topic.php?fid=14&fpage=68&tid=1334528]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 352ms |

| 0 / 0 |
