xml-asp.net 如何读取 这样的XML 取得它的loginname和realname

问题描述

asp.net 如何读取 这样的XML 取得它的loginname和realname
 <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationSuccess>
        <cas:user>bb</cas:user>
        <cas:attributes  nid='1'>
        <cas:id>2</cas:id>
        <cas:loginname>bb</cas:loginname>
        <cas:role>2</cas:role>
        <cas:realname>bbggg</cas:realname>
        </cas:attributes>
    </cas:authenticationSuccess>
</cas:serviceResponse>

解决方案

```void Main()
{
string xml = @"

cas:authenticationSuccess

cas:userbb/cas:user

cas:id2/cas:id

cas:loginnamebb/cas:loginname

cas:role2/cas:role

cas:realnamebbggg/cas:realname

/cas:attributes

/cas:authenticationSuccess

/cas:serviceResponse";

XDocument xmlPage = XDocument.Parse(xml);

XNamespace ns = "http://www.xxx.edu/tp/cas";

       var query = from x in xmlPage.Descendants(ns+"authenticationSuccess")
                   from y in x.Element(ns+"attributes").Elements()
                   select y;
       foreach(XElement item in query)
            Console.WriteLine("{0}:t  {1}",item.Name.LocalName,item.Value);

     /*
     id:      2
    loginname:    bb
    role:     2
    realname:     bbggg
     */

}


解决方案二:

 void Main()
{
    string xml = @" <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationSuccess>
        <cas:user>bb</cas:user>
        <cas:attributes  nid='1'>
        <cas:id>2</cas:id>
        <cas:loginname>bb</cas:loginname>
        <cas:role>2</cas:role>
        <cas:realname>bbggg</cas:realname>
        </cas:attributes>
    </cas:authenticationSuccess>
</cas:serviceResponse>";
           XDocument xmlPage = XDocument.Parse(xml);
           XNamespace ns = "http://www.yale.edu/tp/cas";  

           var query = from x in xmlPage.Descendants(ns+"authenticationSuccess")
                       select new
                        {
                            loginname = x.Element(ns+"attributes").Element(ns+"loginname").Value,
                            realname = x.Element(ns+"attributes").Element(ns+"realname").Value
                        };  

}

解决方案三:

你的问题主要还是在 XNamespace

解决方案四:

如果attatributes下节目未知,直接这样:

  var query = from x in xmlPage.Descendants(ns+"authenticationSuccess")
                       select x.Element(ns+"attributes");

解决方案五:

参考这个:

 void Main()
{
    string xml = @" <cas:serviceResponse xmlns:cas='http://www.xxx.edu/tp/cas'>
<cas:authenticationSuccess>
        <cas:user>bb</cas:user>
        <cas:attributes  nid='1'>
            <cas:id>2</cas:id>
            <cas:loginname>bb</cas:loginname>
            <cas:role>2</cas:role>
            <cas:realname>bbggg</cas:realname>
        </cas:attributes>
    </cas:authenticationSuccess>
</cas:serviceResponse>";
           XDocument xmlPage = XDocument.Parse(xml);
           XNamespace ns = "http://www.xxx.edu/tp/cas";    

           var query = from x in xmlPage.Descendants(ns+"authenticationSuccess")
                       from y in x.Element(ns+"attributes").Elements()
                       select y;
           foreach(XElement item in query)
                Console.WriteLine("{0}:t  {1}",item.Name.LocalName,item.Value);

         /*
         id:      2
        loginname:    bb
        role:     2
        realname:     bbggg
         */
}

时间: 2024-09-11 20:28:50

xml-asp.net 如何读取 这样的XML 取得它的loginname和realname的相关文章

ASP.NET中读取修改删除XML文件一些示例

ASP.NET读取XML文件4种方法分析,需要的朋友可以参考下. 方法一 :使用XML控件 代码如下:  代码如下 复制代码 <% @ Page Language="C#"%> <html> <body> <h3><font face="Verdana">读取XML方法一</font></h3> <from runat=server> <asp:Xml id=&qu

asp.net中读取和更新xml文件

1 示例xml文件 model.xml <?xml version="1.0" encoding="utf-8" ?> <DrRoot> <SiteName>xml操作示例</SiteName> <SiteUrl>www.abc.com.cn</SiteUrl> <SiteDescript>.net开源论坛</SiteDescript> <SiteKeyWord&g

cpp-如何读取很多个xml文件,并且发布其中标记的数据

问题描述 如何读取很多个xml文件,并且发布其中标记的数据 情况是这样的,老大教我做一个功能.1,发布数据,发布自己标记后的数据.2,xml的大量数据,对有需要的数据进行标记.我现在已经完成了2,完成了可以对数据进行标记.然后不知道该如何发布被标记的数据.问题:1.我不知道该如何对很多个xml文件进行遍历,在遍历中再继续查找,是否被标记了,标记了则发布.

用PHP读取和编写XML DOM的实现代码

用 PHP 读取和编写可扩展标记语言(XML)看起来可能有点恐怖.实际上,XML 和它的所有相关技术可能是恐怖的,但是用 PHP 读取和编写 XML 不一定是项恐怖的任务.首先,需要学习一点关于 XML 的知识 -- 它是什么,用它做什么.然后,需要学习如何用 PHP 读取和编写 XML,而有许多种方式可以做这件事. 本文提供了 XML 的简短入门,然后解释如何用 PHP 读取和编写 XML. 什么是 XML? XML 是一种数据存储格式.它没有定义保存什么数据,也没有定义数据的格式.XML 只

用PHP读取和编写XML DOM

dom|xml     有许多技术可用于用 PHP 读取和编写 XML.本文提供了三种方法读取 XML:使用 DOM 库.使用 SAX 解析器和使用正则表达式.还介绍了使用 DOM 和 PHP 文本模板编写 XML. 用 PHP 读取和编写可扩展标记语言(XML)看起来可能有点恐怖.实际上,XML 和它的所有相关技术可能是恐怖的,但是用 PHP 读取和编写 XML 不一定是项恐怖的任务.首先,需要学习一点关于 XML 的知识 -- 它是什么,用它做什么.然后,需要学习如何用 PHP 读取和编写

ASP.NET创建Web服务之XML基础结构

asp.net|web|web服务|xml|创建 为了在网络多样性方面取得成功,XML Web服务必须不关心所选择的操作系统.对象模型和程序语言.而且,XML Web服务为了和其他基于Web的技术一样被广泛接受,它们必须: 松散耦联:如果两个系统中,只有使用的命令能理解前面提到过的自我描述基于文本的消息,那么这两个系统就被认为是松散耦联的.而另一方面,紧密耦联的系统使用大量的定制的软件来增强系统间的通讯,并且需要对系统之间了解的更多. 无所不在的通信:现在个人不太可能能够构造一个操作系统,或者在

ASP通过XMLDom在服务器端操作XML文件的主要方法和实现。

dom|xml|服务器 对于小数据量,xml文件在检索更新上于ACCESS有很多优势. 我曾经测试过不用数据库,把网站的会员信息,商品数据信息,交易信息,网站定制信息全部存放在三个xml文件中,运行结果十分正常,感觉上比数据库快多了,不过没有作测试,不能确定.(http://stone.yesku.net) 下面说一下创建,查询,修改等对xml操作的主要方法 '创建DOM对象set objDom=server.CreateObject("MicroSoft.XMLDom") '取得xm

用ASP和Microsoft.XMLDOM分析远程XML文件

dom|xml 用xmldom方法打开xml文件,如果是本地的没有问题,就是用Server.MapPath("xml.xml")的方法,这时能正常分析出内容,但是直接用url却不显示出xml内容(在XMLDOM里表示是支持URL方式的),后来研究一下发现可以用XMLHTTP的方法获取XML后再分析,代码如下: Set http=Server.CreateObject("Microsoft.XMLHTTP")http.Open "GET",&quo

ASP通过XMLDom在服务器端操作XML文件的主要方法和实现

dom|xml|服务器 对于小数据量,xml文件在检索更新上于ACCESS有很多优势. 我曾经测试过不用数据库,把网站的会员信息,商品数据信息,交易信息,网站定制信息全部存放在三个xml文件中,运行结果十分正常,感觉上比数据库快多了,不过没有作测试,不能确定. 下面说一下创建,查询,修改等对xml操作的主要方法 '创建DOM对象set objDom=server.CreateObject("MicroSoft.XMLDom") '取得xml数据'方法1 取得xml文件的xml数据  o