Как написать и получить значения XML из файла конфигурации
Мне нужно получить значение метки xml в зависимости от идентификатора, каждый идентификатор имеет соответствующее значение метки, и мне нужно отобразить его на своей странице веб-объекта. Детали XML будут помещены в файл конфигурации и будут вызывать его для получения значений меток.
sample.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
-<properties>
<comment>This is how we can have properties as xml</comment>
<entry key="shipping_method_id">**0**</entry>
<entry key="shipping_method_label">Fixed Shipping</entry>
<entry key="shipping_method_id">0</entry>
<entry key="shipping_method_label">**Fixed Shipping**</entry>
</properties>
ниже мой код Java, чтобы получить другие теги. Как я буду называть метку метода? Спасибо за вашу помощь!
public NSDictionary parseShipment(String shipString) {
String carrier = extractString(shipString, "<enum>", "</enum>", 0);
String dateString = extractString(shipString, "<date>", "</date>", 0);
String trackingNumber = extractString(shipString, "<track>", "</track>", 0);
String oms = extractString(shipString, "<status>", "</status>", 0);
if (carrier == null) carrier = "";
if (trackingNumber == null) trackingNumber = "";
if (dateString == null) dateString = "";
if (oms == null) oms = "";
// parse the ship date
NSTimestamp shipdate = null;
int markerIndex = dateString.indexOf("T");
if (markerIndex > 0) {
dateString = dateString.substring(0, markerIndex);
try { shipdate = (NSTimestamp) dateformatter.parseObject(dateString); }
catch (ParseException e) { }
}
NSMutableDictionary returnDict = new NSMutableDictionary();
returnDict.setObjectForKey(carrier, "carrier");
returnDict.setObjectForKey(trackingNumber, "trackingNumber");
returnDict.setObjectForKey(oms, "oms");
System.out.println(oms);
if (shipdate == null)
returnDict.setObjectForKey(dateString, "shipDatetime");
else
returnDict.setObjectForKey(shipdate, "shipDatetime");
1 ответ
Самый надежный способ - использовать реальный анализатор XML. Есть десятки из них (даже в самой JDK) и тысячи статей, описывающих, как это сделать. Вот сравнительно недавно.