0

我需要根据id获取 xml标签值,每个 id 都有一个相应的标签值,我需要将其显示到我的 webobject 页面。xml 详细信息将放置在配置文件中,并将调用它以获取标签值。

示例.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");
4

1 回答 1

0

最可靠的方法是使用实​​际的 XML 解析器。其中有几十个(甚至 JDK 本身也有一个),以及描述如何做到这一点的数千篇文章。这是一个相对较新的

于 2018-04-27T03:14:56.053 回答