でXML値を取得するには、Javaを使用して値を得たが、すべての値は私が読んで、私は、列のデータがBase64でのencryption.iをXML形式である必要がありjavaの
<?xml version="1.0" encoding="UTF-8"?>
<event id="370e7324-3-85ec-63dac16aacb6">
<properties>
<property enc="BASE64" name="state" value="Hrthyw35WmnmewqzRlYXI="/>
<property enc="BASE64" name="record" value="mjhm65WmnmewqzRlYXI="/>
<property enc="BASE64" name="application" value="Q2FsZWmnmewqzRlYXI="/>
</properties>
</event>
のみ特定の値をしたい取得し、私のJavaコードがあります
try {
Query q="select xml from empdata";
String xml = result.getString(1);
System.out.println("----xml----"+xml);
sqlService.dbRead(connection,sql.toString(),new SqlReader()
{
@Override
public Object readRecord(ResultSet result)
{
try {
String xml = result.getString(1);
// read the xml
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(xml));
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(is);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("property");
String name = null;
String value = null;
for (int temp = 0; temp < nList.getLength(); temp++) {
Node node = nList.item(temp);
Element element=null;
if (node.getNodeType() == Node.ELEMENT_NODE) {
element = (Element) node;
name= element.getAttribute("name");
value = element.getAttribute("value");
System.out.println("--value--"+value+"----name----"+name);
}
}
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
});
}catch (SQLException e) {
e.printStackTrace();
}
私は3つの名前と3つの値を取得していますが、私は3番目の名前と値しか必要としません。あなたは「アプリケーション」の名前を持つものをしたいと仮定すると、
Base64では、条件(「アプリケーション」.equalsIgnoreCase(名))の場合のような場合 – Adam
は、なぜあなたは、簡単な使用していない...それはエンコーディングだ、暗号化ではありません{//あなたがやりたいです}; –
Java SE XPathを使用しないのはなぜですか? – dnsserver