我有一个以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>^~\&</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>
答案 0 :(得分:2)
对于DOM,一个选项是使用InputSource
:
String str = "<xml>...</xml>";
DocumentBuilder builder = DocumentBuilderFactory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(str)));
您可以对SAX使用类似的策略,因为它也支持InputSource
。