Как прочитать два элемента из (XML) в App Engine Peoplecode - PullRequest
0 голосов
/ 24 февраля 2020

Не можете прочитать два элемента? Я могу прочитать один элемент, но не знаю, как читать два.

& FieldL = & inXMLDo c .DocumentElement.GetElementsByTagName ("ws: Name_Data");

For &a = 1 To &FieldL.Len
      &pNode = &FieldL[&a];
      &Name_Type = &pNode.GetElementsByTagName("ws:Name_Type");
      &aName_Type = &Name_Type [1].NodeValue;

   End-For;

Здесь является файлом XML.

<ws:Name_Data>
    <ws:Name_Type>Legal</ws:Name_Type>
    <ws:First_Name></ws:First_Name>
 </ws:Name_Data>
<ws:Name_Data>
      <ws:Name_Type>Preferred</ws:Name_Type>
      <ws:First_Name></ws:First_Name> 
</ws:Name_Data>

Рассмотрим решения

For &a = 1 To &FieldL.Len 
&pNode = &FieldL[1];
&pNode2 = &FieldL[2];

&Name_Type = &pNode.GetElementsByTagName("ws:Name_Type");
&aName_Type = &Name_Type [1].NodeValue;
&aName_Type2 = &pNode2.GetElementsByTagName("ws:Name_Type");
&aName_Type22 = &aName_Type2 [1].NodeValue; 
End-For;

1 Ответ

0 голосов
/ 25 февраля 2020
For &a = 1 To &FieldL.Len
    [...]
    &aName_Type = &Name_Type [1].NodeValue;
End-For;

Если & a = 2, значение в & aName_Type будет перезаписано. Убедитесь, что & aName_Type является массивом, и используйте индекс.

For &a = 1 To &FieldL.Len
    [...]
    &aName_Type[&a] = &Name_Type[1].NodeValue;
End-For;
...