首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >c# winforms中的字符串提取

c# winforms中的字符串提取
EN

Stack Overflow用户
提问于 2009-10-12 04:52:33
回答 6查看 684关注 0票数 0

我有一个这样的xml文件

代码语言:javascript
复制
<div class="details">
  <a href="/Details/Empinfo.asp?empid=134">Employee details</a> 
</div>

现在,我想从c# winforms中给定的xml文件中获取empid (即134)。有人能帮我弄到emp id吗?

提前感谢

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-10-12 05:32:23

有关快速EmpID,请参阅以下内容:

代码语言:javascript
复制
    string xml = @"<div class=""details""><a href=""/Details/Empinfo.asp?empid=134"">Employee details</a></div>";
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xml);
    string strEmpID = node.Attributes[@"href"].Value.ToString().Split(new char[] { '=' })[1];

如果你想要所有的EmpID,那么可以做如下操作:

代码语言:javascript
复制
private List<string> GetAllEmpIDs(string xml, string strTag/*Example: @"href" */, char[] caSplitBy, int nItemNumber /*second item in array, 1*/)
{
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xml);

    List<string> lstEmpID = new List<string>();
    foreach(XmlNode node in doc.DocumentElement.ChildNodes)
    {
        lstEmpID.Add(node.Attributes[strTag].Value.ToString().Split(caSplitBy)[nItemNumber]);
    }

    return lstEmpID;
}

用法:

代码语言:javascript
复制
    List<string> lstEmpID= GetAllEmpIDs(@"<div class=""details""><a href=""/Details/Empinfo.asp?empid=134"">Employee details</a></div>",
                @"href",
                new char[] { '=' },
                1
                );

如果上面没有任何帮助,请告诉我!(0:

票数 3
EN

Stack Overflow用户

发布于 2009-10-12 04:59:21

  1. 首先在XMLDocument/XMLReader中加载xml文件,然后获取href属性值"/Details/Empinfo.asp?empid=134“。然后,
  2. 使用它来实例化一个新的Uri类,然后使用Uri.Query属性,这将使您获得"?empid=134“。
  3. 现在查找第一个=并提取后面的整个子字符串,这应该会得到134
票数 1
EN

Stack Overflow用户

发布于 2009-10-12 05:20:47

代码语言:javascript
复制
function NameYourFunction(string xmlFile){
   XmlDocument xml = new XmlDocument();
        xml.Load(xmlFile);
        XmlNode xnode = xml.DocumentElement;
        for (int i = 0; i < xnode.ChildNodes.Count; i++)
        {
            string href = xnode.ChildNodes[i].Attributes["href"].Value;
            string empid = href.Substring(href.IndexOf('='),(href.Length -    href.IndexOf('='))+1);
        }

}

请看一下。还没试过呢。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1552772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档