Как получить элемент внутри элемента, также Xml, имеющий несколько элементов с одинаковым именем
.Мне нужен элемент статуса членства, а не статус членской карты.getElementsByTagName получит статус участника, но если статус членства недоступен, он перейдет в статус членства.Я не хочу этого.
Я использую getTextContent (), чтобы получить текст из элемента.
XML-файл в необработанной папке, Android Studio
<Membership>
<Program>Fun</Program>
<Status>CANCELLED</Status>
<MembershipCard>
<Country>Australia</Country>
<Status>VALID</Status>
<Version>10</Version>
</MembershipCard>
</Membership>
код -
String FirstName = "FirstName";
String Surname = "Фамилия";
String Status = "Status";
String Membership = "Membership";
// отсутствует некоторые кодыздесь ........
// чтение файла из необработанной папки ...
String s = OfflineServiceClient.readRawTextFile (super.AppContext, resourceId);
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = builderFactory.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(s));
Document doc = docBuilder.parse(is);
// ResponseBody является одним из основных элементов, который мне нужен, все элементы находятся внутри элемента ResponseBody
if (doc != null)
{
NodeList nList = doc.getElementsByTagName("ResponseBody");
if (nList.getLength() > 0)
{
for (int i = 0; i < nList.getLength(); i++)
{
Node node = nList.item(i);
// (node.getNodeType() == Node.ELEMENT_NODE)
Element eElement = (Element) node;
try
{
if (eElement.getElementsByTagName(FirstName).getLength() > 0 )
{
enrollmentStatus.setFirstName(eElement.getElementsByTagName(FirstName).item(0).getTextContent());
if (eElement.getElementsByTagName(Surname).getLength() > 0 )
enrollmentStatus.setLastName(eElement.getElementsByTagName(Surname).item(0).getTextContent());
и т. Д. ..................
Ожидаемый результат - текстовое значение только из статуса членства.Если статус участника недоступен, вернуть ноль.