gpt4 book ai didi

java - 如何在 Java 中解析 .plist 文件?

转载 作者:数据小太阳 更新时间:2023-10-29 02:02:28 26 4
gpt4 key购买 nike

我正在尝试用 Java 解析 .plist 文件,但不了解如何解析。我使用了 DOM 解析器,但它给出了错误并且无法读取 .plist 文件。

这是我的 plist 文件:

xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>All Samples</key>
<array>
<dict>
<key>Message</key>
<string>1) UIATarget </string>
<key>Timestamp</key>
<date>2011-07-06T19:40:09Z</date>
<key>Type</key>
<integer>0</integer>
</dict>

这是我的 main 函数:

 public static void main(String[] args) throws XMLStreamException, IOException {
InputStream in = new FileInputStream("File.plist");
XMLInputFactory factory = XMLInputFactory.newInstance();
XMLEventReader parser = factory.createXMLEventReader(in);

assert parser.nextEvent().isStartDocument();

XMLEvent event = parser.nextTag();
//System.out.println(event.getClass());
assert event.isStartElement();
final String name1 = event.asStartElement().getName().getLocalPart();

if (name1.equals("dict")) {
while ((event = parser.nextTag()).isStartElement()) {
final String name2 = event.asStartElement().getName().getLocalPart();

if (name2.equals("key")) {
String key = parser.getElementText();
System.out.println("key: " + key);

} else if (name2.equals("String")) {
String number = parser.getElementText();
System.out.println("date: " + number);

} else if (name2.equals("date")) {
String str = parser.getElementText();
System.out.println("date: " + str);
}
}
}

assert parser.nextEvent().isEndDocument();
}

最佳答案

如果我是你,我会使用 PList来自 code.google.com/xmlwise 的类(class).它专为处理 .plist 文件而设计。

关于java - 如何在 Java 中解析 .plist 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7484163/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com