Java - 在xml文件中更新正确的数据库

时间:2014-09-12 08:57:04

标签: java xml

我需要检查环境id是否与xml文件中的db id匹配,因此我知道要更新哪些db元素。我有代码:

//get tag           
    Node environment = doc.getElementsByTagName("environment").item(0);

    //check environment id 
     if(environment.getEnvironmentID().equals())
     {

     }

我所拥有的代码是针对nodelist的,并且其中的元素将被更新。我只是不知道如何完成支票以获得正确的支票。

xml文件:

 <defaultenv id = "default">  
<Environment id = "name">  
<Db id = "db1">  
<Website> BlueHouse.co.uk</Website>  
</Db>  
</Environment>  
</Defaultenv> 

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:1)

由于您正在使用org.w3c.dom.Node,因此请使用以下代码段之一来获取环境id

选项1

//get tag           
// ** I use "Environment" with upper E because XML is case-sensitive
Node environment = doc.getElementsByTagName("Environment").item(0);

//check environment id 
if(environment.getAttributes().getNamedItem("id").getNodeValue().equals("..."))
{

}

选项2

如果您不介意使用代码,您也可以这样做:

//get tag           
Node environment = doc.getElementsByTagName("Environment").item(0);

//check environment id 
// ** I cast the Node instance (ie environment) into an Element instance
if ( ((Element)environment).getAttribute("id").equals("...") )
{

}

答案 1 :(得分:0)

我正确理解你的问题。感觉就像你想要将环境标签和DB标签的id属性与一些默认值或它们之间进行比较。 根据给出的XML示例,下面的代码将为您提供两个tags的id值。希望它可以用于比较。

Node environment= doc.getElementsByTagName("Environment").item(0);

     NamedNodeMap nodeMap = environment.getAttributes();

     Node idAttr = nodeMap.getNamedItem("id");

     String envAttrValue = idAttr.getTextContent();

     Node dbNode = node.getChildNodes().item(0);

     NamedNodeMap dbNodeMap = dbNode.getAttributes();

     Node dbIdAttr = dbNodeMap.getNamedItem("id");

     String dbAttrValue = dbIdAttr.getTextContent();