0

java怎么可能计算这个xml片段中PolylinePoint元素的数量(对你来说重要的是,这个xml不是一个文件而是一个字符串):

    <LocationInformationRequest>
            <InitialInput>
                <GeoRestriction>
                    <Area>
                        <PolylinePoint>
                            <Longitude>88.1</Longitude>
                            <Latitude>88.2</Latitude>
                            <Altitude>88.3</Altitude>
                        </PolylinePoint>
                        <PolylinePoint>
                            <Longitude>88.4</Longitude>
                            <Latitude>88.5</Latitude>
                            <Altitude>88.6</Altitude>
                        </PolylinePoint>
                        <PolylinePoint>
                            <Longitude>88.7</Longitude>
                            <Latitude>88.8</Latitude>
                            <Altitude>88.9</Altitude>
                        </PolylinePoint>
                    </Area>
                </GeoRestriction>
            </InitialInput>
        </LocationInformationRequest>

使用xml作为文件很容易解决这个问题。但是使用字符串则更加困难。有任何想法吗?

感谢您的帮助!

4

3 回答 3

0
于 2013-07-09T13:58:14.113 回答
0

您可以使用正则表达式:

        String str="<PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint><PolylinePoint><Longitude>88.7</Longitude><Latitude>88.8</Latitude><Altitude>88.9</Altitude></PolylinePoint>";
        Pattern p = Pattern.compile("<PolylinePoint>");
        Matcher m=p.matcher(str);
        int res=0;
        while (m.find()) {
            res++;
        }
        System.out.println(res++);
于 2013-07-09T13:59:50.953 回答
0

如何创建文档 drom 字符串?

文档 document = builder.parse(new InputSource( new StringReader( xmlString ) ) );

然后您可以轻松使用 xPath。

于 2013-07-09T14:22:33.420 回答