java doc xml字符串-xml字符串赋值doc
发布时间:2023-02-10 07:23 浏览次数:次 作者:佚名
Java 读取 XML 并将文本节点放入字符串数组?
javaxml
Java 读取 XML 并将文本节点放入字符串数组? ,java,xml,java,Xml,如果有人问我这个问题,我很抱歉,我已经谷歌搜索了一个多小时,似乎无法弄清楚该怎么做我已经为我的应用程序创建了一个'我正在制作存储在 XML 中的配置文件,我已经让应用程序成功创建了 XML 文件,如果它不存在,请使用 DOM 代码,以备不时之需 public static void newConfig() { try { DocumentBuilderFactory docFactory = DocumentBuilderFactory. 新实例(
如果有人问我这个问题,我很抱歉,我已经在谷歌上搜索了一个多小时java doc xml字符串,似乎无法弄清楚该怎么做
我已经为我正在制作的应用程序创建了一个配置文件,该文件存储在 XML 中java doc xml字符串,并且我已经让该应用程序成功创建了 XML 文件并使用 DOM(如果它不存在)
代码,以备不时之需
public static void newConfig() {
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
// root element
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement("settings");
doc.appendChild(rootElement);
// address element
Element address = doc.createElement("address");
address.appendChild(doc.createTextNode("127.0.0.1"));
rootElement.appendChild(address);
// port element
Element port = doc.createElement("port");
port.appendChild(doc.createTextNode("3306"));
rootElement.appendChild(port);
// user element
Element user = doc.createElement("user");
user.appendChild(doc.createTextNode("user"));
rootElement.appendChild(address);
// password element
Element pass = doc.createElement("pass");
pass.appendChild(doc.createTextNode("password"));
rootElement.appendChild(pass);
// database element
Element datab = doc.createElement("database");
datab.appendChild(doc.createTextNode("A1"));
rootElement.appendChild(datab);
// write the content to XML
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("config.xml"));
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.transform(source, result);
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
}
这产生:
3306
127.0.0.1
password
A1
如何将这些文本节点检索为字符串数组?
尝试这个
NodeList nodes = docBuilder.parse(new File("1.xml")).getDocumentElement().getChildNodes();
String[] a = new String[4];
for (int i = 0, j = 0; i < nodes.getLength(); i++) {
Node n = nodes.item(i);
if (n instanceof Element) {
a[j++] = n.getTextContent().trim();
}
}
我忘了说,这很完美,谢谢: