Раньше я мало работал с XML, поэтому, возможно, мое незнание правильной терминологии вредит мне в поисках того, как это сделать. У меня есть фрагмент кода ниже, который я использую для анализа XML-файла, как показано ниже. Проблема в том, что он выбирает только значения XML в пределах <Tag>Value</Tag>
, но не для приведенного ниже, где мне нужно получить значение TagValue
, которое в этом случае будет "Russell Diamond"
.
Буду признателен, если кто-нибудь сможет предложить помощь в получении таких значений. Спасибо.
<Tag TagName="#Subject" TagDataType="Text" TagValue="Russell Diamond"/>
Фрагмент, который я использую:
public void printElementNames(String fileName) throws IOException {
//test write to file
FileWriter fstream = new FileWriter("/home/user/Desktop/readEDRMtest.txt");
final BufferedWriter out = new BufferedWriter(fstream);
//
try {
SAXParserFactory parserFact = SAXParserFactory.newInstance();
SAXParser parser = parserFact.newSAXParser();
System.out.println("XML Elements: ");
DefaultHandler handler = new DefaultHandler() {
public void startElement(String uri, String lName, String ele,
Attributes attributes) throws SAXException {
// print elements of xml
System.out.println(ele);
try {
out.write(ele);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void characters(char ch[], int start, int length)
throws SAXException {
System.out.println("Value : "
+ new String(ch, start, length));
try {
out.write("Value : "
+ new String(ch, start, length));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};