0

我有一个以 xml 格式编码的字符串。所以当我将它打印到控制台时,它会看起来像一个 xml 文件。我想做的是现在使用带有 DOM 或 SAX 库的 java 从这个字符串中读取值。但我不知道该怎么做,因为我的字符串没有存储在文件中。

<?xml version="1.0" encoding="UTF-8"?>
<ADT_A01 xmlns="urn:hl7-org:v2xml">
    <MSH>
        <MSH.1>|</MSH.1>
        <MSH.2>^~\&amp;</MSH.2>
        <MSH.3>
            <HD.1>HIS</HD.1>
        </MSH.3>
        <MSH.4>
            <HD.1>RIH</HD.1>
        </MSH.4>
        <MSH.5>
            <HD.1>EKG</HD.1>
        </MSH.5>
        <MSH.6>
            <HD.1>EKG</HD.1>
        </MSH.6>
        <MSH.7>199904140038</MSH.7>
        <MSH.9>
            <MSG.1>ADT</MSG.1>
            <MSG.2>A01</MSG.2>
        </MSH.9>
        <MSH.11>
            <PT.1>P</PT.1>
        </MSH.11>
        <MSH.12>
            <VID.1>2.6</VID.1>
        </MSH.12>
    </MSH>
    <PID>
        <PID.1>1</PID.1>
        <PID.3>
            <CX.1>1478895</CX.1>
            <CX.2>4</CX.2>
            <CX.3>M10</CX.3>
            <CX.4>
                <HD.1>PA</HD.1>
            </CX.4>
        </PID.3>
        <PID.5>
            <XPN.1>
                <FN.1>XTEST</FN.1>
            </XPN.1>
            <XPN.2>PATIENT</XPN.2>
        </PID.5>
        <PID.7>19591123</PID.7>
        <PID.8> F</PID.8>
    </PID>
</ADT_A01>
4

1 回答 1

2

对于 DOM,一种选择是使用InputSource

String str = "<xml>...</xml>";
DocumentBuilder builder = DocumentBuilderFactory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(str)));

您可以对 SAX 使用类似的策略,因为它也支持InputSource

于 2013-02-11T15:45:41.990 回答