从XML文档的子节点(C#)中不成功地提取InnerText

时间:2017-08-10 16:41:14

标签: c# xml

我正在使用的XML如下:

<?xml version="1.0" encoding="utf-8"?><entry_list version="1.0"><entry 
id="commode"><ew>commode</ew><subj>HH-2#CL-1#FU-2a,b,c#BD-2d</subj><art>
<artref id="commode" /><capt>commode 1</capt><dim>54,18</dim></art>
<hw>com*mode</hw><sound><wav>commod01.wav</wav><wpr>ku-!mOd</wpr></sound>
<pr>kə-ˈmōd</pr><fl>noun</fl><et>French, from <it>commode,</it> adjective, 
suitable, convenient, from Latin <it>commodus,</it> from <it>com-</it> + 
<it>modus</it> measure <ma>mete</ma></et><def><date>circa 1688</date>
<sn>1</sn><dt>:a woman's ornate cap popular in the late 17th and early 18th 
centuries</dt><sn>2 a</sn><dt>:a low chest of drawers</dt><sn>b</sn><dt>:a 
movable washstand with a cupboard underneath</dt><sn>c</sn><dt>:a boxlike 
structure holding a chamber pot under an open seat</dt><sd>also</sd><dt>:
<sx>chamber pot</sx></dt><sn>d</sn><dt>:<sx>toilet <sxn>3b</sxn></sx></dt>
</def><art><bmp>commode.bmp</bmp><cap>commode 
1</cap></art></entry></entry_list> 

我正在使用的代码,我从各种相关问题拼凑而成:

System.Xml.XmlNodeList elemList = doc.GetElementsByTagName("dt");
List<string> defs = new List<string>();

for (int count = 0; count < elemList.Count; count++)
{
    string contents = string.Empty;
    foreach (System.Xml.XmlNode child in elemList[count])
    {

        if (child.NodeType == System.Xml.XmlNodeType.Element)
        {
            contents += child.InnerText;
        }
    }
    defs.Insert(count, contents);
}

由于各种原因,生成的“defs”列表为空,所有这些都不为我所知。

0 个答案:

没有答案