Я хочу, чтобы извлечь только выбранные теги из файла XML:Xml условного синтаксического анализа с использованием Java
<Shape>
<ShapeType>H2</ShapeType>
<Annotation>
<Properties>
<PropertyValue PropertyName="field_label">label.modelSeriesCd</PropertyValue>
<PropertyValue PropertyName="ContainerType">conditionContainer</PropertyValue>
</Properties>
</Annotation>
<FootnoteNumber>1</FootnoteNumber>
<Name>label.modelSeriesCd</Name>
<Rectangle>
<Rectangle X="14" Y="94" Width="43" Height="12" />
</Rectangle>
</Shape>
<Shape>
<ShapeType>H2</ShapeType>
<Annotation>
<Properties>
<PropertyValue PropertyName="field_label">label.modelSeriesMd</PropertyValue>
<PropertyValue PropertyName="ContainerType">mContainer</PropertyValue>
</Properties>
</Annotation>
<FootnoteNumber>1</FootnoteNumber>
<Name>label.modelSeriesCd</Name>
<Rectangle>
<Rectangle X="14" Y="94" Width="43" Height="12" />
</Rectangle>
</Shape>
Я хочу, чтобы извлечь только те теги, которые имеет «conditionContainer» в качестве значения «PropertyValue» и все теги внутри тега Я пытаюсь ниже код:
private static void visitChildNodes(NodeList nList)
{
for (int index = 0; index < nList.getLength(); index++)
{
Node node = nList.item(index);
if (node.getNodeType() == Node.ELEMENT_NODE)
{
if(node.getNodeName().equalsIgnoreCase("shape"))
System.out.println("Node Name = " + node.getNodeName() + "; Value = " + node.getTextContent());
пожалуйста предложить мне способ сделать это.
Прочитайте этот вопрос - http://stackoverflow.com/questions/2811001/how-to-read-xml-using- xpath-in-java – adatapost
Не упоминается там, как итерировать или искать внутри. строка "if (node.getNodeName(). equalsIgnoreCase (" shape "))" в моем коде можно искать тег "shape", но .. Я не понимаю, как читать внутри для других тегов ... –
SOP
Как показано в моем xml, есть несколько тегов внутри тега, и мое требование - искать «conditionContainer» и избегать всех других тегов –
SOP