XML文件标签名一致,而属性值不同,如何遍历取值写法 摘录

 

<EssentialFunctions>
     <Qualification description="We Offer" source="AdDesc1">LOCAL, NON-EXPATRIATE PAY + BENEFITS + ANNUAL LEAVE EMPLOYEE STATUS:REGULAR VISA:SPONSORED*, OVERSEAS CANDIDATES ELIGIBLE TO APPLY AIRFARE:NOT SPONSORED HOUSING:NOT SPONSORED MEDICAL INSURANCE:INCLUDED</Qualification>
     <Qualification description="Roles and Responsibilities" source="AdDesc2">1、 Service business delivery process design and realization 2、 Business process optimization 3、 Document management 4、 External communications</Qualification>
     <Qualification description="Requirements" source="AdDesc3">Minimum requirements: 1. Bachelor’s degree or above with a related major (IT Management, Business Administration , technology etc.) </Qualification>
     <Qualification description="Additional Information" source="AdDesc4">The ultimate interpretation rights of all above belongs to Legend Group HR headquarters. In case there are inconsistencies between the English and the Chinese version, the Chinese language version applies.</Qualification>
     <Qualification source="Language">EN</Qualification>
     <Qualification source="LOV5305" category="Function Area">客户服务</Qualification>
     <Qualification source="LOV5510" category="Location">北京市</Qualification>
</EssentialFunctions>

在C#中如何循环读取属性及内容?
通过node.Attributes["属性名"].Value获取属性值
当作普通节点对待,遍历节点来获取所有节点值.

StringBuilder sb = new StringBuilder();

XmlNode ndQualification = el.SelectSingleNode("JobPositionInformation/JobPositionDescription/EssentialFunctions");
string _attr_source = "";
string _attr_desc = "";
string _attr_category = "";
foreach (XmlNode node in ndQualification.ChildNodes)
{                
      if (!XmlUtility.IsEmpty(node))
      {
             if(node.Attributes["source"] != null)
                   _attr_source = (String.IsNullOrEmpty(node.Attributes["source"].Value))?"":node.Attributes["source"].Value;
             if(node.Attributes["description"] != null)
                  _attr_desc = (String.IsNullOrEmpty(node.Attributes["description"].Value))?"":node.Attributes["description"].Value;
             if(node.Attributes["category"] != null)
                   _attr_category = (String.IsNullOrEmpty(node.Attributes["category"].Value))?"":node.Attributes["category"].Value;
             if(_attr_source.Length > 0)
                  sb.Append(string.Format(" <b>source:</b>{0};", _attr_source));
             if(_attr_desc.Length > 0)
                   sb.Append(string.Format(" <b>description:</b>{0};", _attr_desc));
             if(_attr_category.Length > 0)
                   sb.Append(string.Format(" <b>category:</b>{0};", _attr_category));
             sb.Append("<br>");
             sb.Append(node.InnerText.Trim()); //节点值
             sb.Append("<br><br>");

             _attr_source = "";
             _attr_desc = "";
             _attr_category = "";
        }
}
         
 return sb.ToString();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值