1
我在使用Delphi阅读一些XML节点时遇到了问题。 我想从这个XML代码读取ID阅读xml的ID和状态节点
例如:
<row name="String.101" status="new" comment="">
<native>"User Name"</native>
<lang id="en" status="ready">"User Name"</lang>
<lang id="fr" status="translated">"Nom d'utilisateur"</lang>
<lang id="hu" status="translated">"Felhasználó neve"</lang>
<lang id="it" status="translated">"Nome utente"</lang>
<lang id="zh" status="translated">"用户名"</lang>
<lang id="de" status="ready">"Benutzername"</lang>
</row>
我的计划应该给我“恩”中的“ID =” EN“”,但它让我看到‘用户名’在该行的末尾。
哪里是我的Delphi代码我的错误?
begin
TransNodes := XMLDocument.DocumentElement.ChildNodes['targets'].ChildNodes['target'].ChildNodes['stringdata'].ChildNodes;
for i := 0 to TransNodes.Count -1 do
begin
sContext := TransNodes[i].Attributes['name'];
sOriginalStatus := TransNodes[i].Attributes['status'];
sNativeText := TransNodes[i].ChildNodes['native'].Text;
sLangId := TransNodes[i].ChildNodes['id'].Text;
sStatus := TransNodes[i].ChildNodes['status'].Text;
Delete(sNativeText, Length(sNativeText), 1);
Delete(sNativeText, 1, 1);
Delete(sLangId, Length(sLangId), 1);
Delete(sLangId, 1, 1);
Delete(sStatus, Length(sStatus), 1);
Delete(sStatus, 1, 1);
Memo.Lines.Add(sContext + ' ' + sOriginalStatus + ' ' + sNativeText + ' ' + sLangId + ' ' + sStatus);
我.Attributes与.ChildNodes试了一下......以.Attributes德尔福shwos我一个错误。 与状态相同的问题。例如,我想要“状态=”准备好“”,但他什么也没给我。
谢谢你的帮助和时间。
对不起,第一个链接是错误的! 这是正确的;) https://www.dropbox.com/sh/zoyudjkn4oevtt4/LbHmzPfdpU/Share/2013/10#lh:null-xml%20code.png – Umberto
你有没有试过注释掉Delete( ...代码行,可能是你只是删除了你的结果? – fuchs777
我试过了,但没有任何事情发生,它不会告诉我我需要的消息 – Umberto