对于下面的XML,我想找到patientInfo标签并找出<之间的内容。和“patientInfo>”使用Java。我认为bes方式是使用匹配器。所以我编写了如下代码(假设上面的String在变量k中)。然后我会使用m.group(0)或m.group(1)。想到这一点,一旦我这样做,我就可以得到所包含的信息。
Pattern p = Pattern.compile("<.*:patientInfo>");
Matcher m = p.matcher(k);
System.out.println(m.matches());
但匹配是假的。我想我没有RE的权利。有什么建议? (所有敏感信息已被替换)
(more stuff above)
<ns3:insuredInfo>
<ns3:insuredId>ID12345678</ns3:insuredId>
<ns3:insuredSecondaryInd>N</ns3:insuredSecondaryInd>
<ns3:firstName>GEORGE</ns3:firstName>
<ns3:lastName>WASHINGTON</ns3:lastName>
<ns3:gender>M</ns3:gender>
</ns3:insuredInfo>
<ns3:patientInfo>
<ns3:firstName>CATHY</ns3:firstName>
<ns3:middleInitial>N</ns3:middleInitial>
<ns3:lastName>LASTLY</ns3:lastName>
<ns3:gender>F</ns3:gender>
<ns3:birthDate>08/13/2006</ns3:birthDate>
<ns3:addressLine1>123 MAIN ST</ns3:addressLine1>
<ns3:cityName>ANY TOWN</ns3:cityName>
<ns3:stateName>NY</ns3:stateName>
<ns3:zipCode>11418</ns3:zipCode>
<ns3:patientAccountNumber>12345678xyz</ns3:patientAccountNumber>
</ns3:patientInfo>
(more stuff underneath)