2009-08-30 3 views
-1

Я хочу проанализировать следующий тип текста. Example1 <root>my name is <j> <b> mike</b> </j> </root>DOM parser for non xml

пример 2

<root> my name is <mytag1 attribute="val" >mike</mytag1> and yours is <mytag2> john</mytag2> </root> 

может я разобрать его с помощью DOM парсер? Я не буду иметь то же время формат Эври .I может иметь различные форматы, в которых теги nested.I не знаю формат заранее.

ответ

0

Вы можете использовать парсер DOM для приведенных примеров - они действительны для XML. Однако вы не сможете использовать его для не-XML согласно вашей теме.

Когда вы говорите, что у вас могут быть «разные форматы, в которых теги вложены», что именно вы имеете в виду? Если это всегда простой гнездование, например.

<root> 
    <tag1> 
    <tag2> 
     <tag3> 
     Stuff 
     </tag3> 
    </tag2> 
    </tag1> 
</root> 

Тогда это будет хорошо. Однако, XML-парсер не будет, как разметка, где тег «внешний» закрыт до того, как «внутренний» один:

<root> 
    <tag1> 
    <tag2> 
     Stuff 
    </tag1> <!-- Invalid --> 
    </tag2> 
</root> 
1

Оба эти примеры являются действительными документами XML, так что нет никаких причин, вы можете, т сделать это.

Если ваш XML очень прост, особенно если он объединяет текст и теги вместе, вы можете сначала запустить его с помощью XSL transformation, чтобы упростить анализ или преобразовать формат в другой формат, например HTML.