我试图弄清楚如何最好地翻译这个:
<Source><properties>
....
<name>wer</name>
<delay>
<type>Deterministic</type>
<parameters length="1">
<param value="78" type="Time"/>
</parameters>
</delay>
<batchSize>
<type>Cauchy</type>
<parameters length="2">
<param value="23" type="Alpha"/>
<param value="7878" type="Beta"/>
</parameters>
</batchSize>
...
</properties></Source>
进入:
<Source><properties>
....
<name>wer</name>
<delay>
<Deterministic Time="78"/>
</delay>
<batchSize>
<Cauchy Alpha="23" Beta="7878"/>
</batchSize>
........
</properties></Source>
我尝试过使用 DocumentBuilderFactory,但是虽然我可以访问名称标签的值,但我无法访问延迟/批处理部分中的值。这是我使用的代码
Element prop = (Element)propertyNode;
NodeList nodeIDProperties = prop.getElementsByTagName("name");
Element nameElement = (Element)nodeIDProperties.item(0);
NodeList textFNList = nameElement.getChildNodes();
String nodeNameValue = ((org.w3c.dom.Node)textFNList.item(0)).getNodeValue().trim();
//--------
NodeList delayNode = prop.getElementsByTagName("delay");
调用 getElementByName("type") 或 "parameters" 似乎没有返回任何我可以使用的东西。我是否遗漏了什么,或者是否有更清洁的方法来处理现有的 xml。
需要采用已定义的格式以允许 Castor 进行编组和解组。
任何帮助将非常感激。