刚好需要大批量从xml文件取值,写了个小demo,供参考
xml文件action.xml内容如下
<cmd-bean name="value"></cmd-bean>
Java代码读取xml中的name属性值
package XMLKnowledge;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class ReadXMLTest {
public static void main(String[] args) {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse("C:\\Users\\sunlh\\Desktop\\action.xml");
NodeList cmdList = document.getElementsByTagName("cmd-bean");
//System.out.println(cmdList.getLength());
for (int i = 0; i < cmdList.getLength(); i++) {
Node name = cmdList.item(i);
// System.out.println(name.getAttributes().getNamedItem("name"));
String result = name.getAttributes().getNamedItem("name").toString();
result = result.substring(6);
result = result.substring(0, result.length() - 1);
System.out.println(result);
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}