尝试读取 XML 文件后出现 UnknownHostException
UnknownHostException after the attempt of reading a XML file
我必须将地图的 key/values 序列化为 XML 文件,然后反序列化它们。
Map<String,Integer> map = new HashMap<>();
// ...
LinkedList<Element> l = new LinkedList<Element>();
Element root = new Element("root");
for (String str : map.keySet()) {
l.add(new Element(str)); // key
l.getLast().appendChild(map.get(str).toString()); // value
root.appendChild(l.getLast());
}
Document d = new Document(root);
BufferedWriter out = new BufferedWriter(new FileWriter("data.xml"));
out.write(d.toXML());
out.close();
d = new nu.xom.Builder().build("data.xml"); // !
Elements e = d.getRootElement().getChildElements();
但是当我尝试读取 XML 文件时,UnknownHostException
被抛到标记的行上。
Exception in thread "main" java.net.UnknownHostException: file
XML 文件创建成功。格式化版本如下所示:
<?xml version="1.0"?>
<root>
<through>1</through>
<don>1</don>
<backed>1</backed>
<I>2</I>
<asList>1</asList>
// ....
</root>
你能解释一下这是什么问题吗?
构建方法需要 URL:Builder.build(String)
您需要将正确的 URL 传递给 build()
,这包括本地文件。
您可以使用以下方法获取本地文件的 URL:
new File(path).toURI().toURL();
根据@delephin 指出的文档,最好使用 build(File in)
版本的 build
方法,将与您的 data.xml
关联的 File
实例传递给您的build()
方法,如下
d = new nu.xom.Builder().build(new File("data.xml"));
我必须将地图的 key/values 序列化为 XML 文件,然后反序列化它们。
Map<String,Integer> map = new HashMap<>();
// ...
LinkedList<Element> l = new LinkedList<Element>();
Element root = new Element("root");
for (String str : map.keySet()) {
l.add(new Element(str)); // key
l.getLast().appendChild(map.get(str).toString()); // value
root.appendChild(l.getLast());
}
Document d = new Document(root);
BufferedWriter out = new BufferedWriter(new FileWriter("data.xml"));
out.write(d.toXML());
out.close();
d = new nu.xom.Builder().build("data.xml"); // !
Elements e = d.getRootElement().getChildElements();
但是当我尝试读取 XML 文件时,UnknownHostException
被抛到标记的行上。
Exception in thread "main" java.net.UnknownHostException: file
XML 文件创建成功。格式化版本如下所示:
<?xml version="1.0"?>
<root>
<through>1</through>
<don>1</don>
<backed>1</backed>
<I>2</I>
<asList>1</asList>
// ....
</root>
你能解释一下这是什么问题吗?
构建方法需要 URL:Builder.build(String)
您需要将正确的 URL 传递给 build()
,这包括本地文件。
您可以使用以下方法获取本地文件的 URL:
new File(path).toURI().toURL();
根据@delephin 指出的文档,最好使用 build(File in)
版本的 build
方法,将与您的 data.xml
关联的 File
实例传递给您的build()
方法,如下
d = new nu.xom.Builder().build(new File("data.xml"));