C# 将特定的XML属性值放入类列表中
我上次尝试编程已经有一段时间了,以前从未使用过XML。我有一个显示XML的内部网站C# 将特定的XML属性值放入类列表中,c#,xml,C#,Xml,我上次尝试编程已经有一段时间了,以前从未使用过XML。我有一个显示XML的内部网站 <Source> <AllowsDuplicateFileNames>YES</AllowsDuplicateFileNames> <Description>The main users ....</Description> <ExportSWF>FALSE</ExportSWF> &l
<Source>
<AllowsDuplicateFileNames>YES</AllowsDuplicateFileNames>
<Description>The main users ....</Description>
<ExportSWF>FALSE</ExportSWF>
<HasDefaultPublishDir>NO</HasDefaultPublishDir>
<Id>28577db1-956c-41f6-b775-a278c39e20a1</Id>
<IsAssociated>YES</IsAssociated>
<LogoURL>http://servername:8080/logos/9V0.png</LogoURL>
<Name>Portal1</Name>
<RequiredParameters>
<RequiredParameter>
<Id>user_name</Id>
<Name>UserID</Name>
<PlaceHolder>username</PlaceHolder>
<ShowAsDescription>true</ShowAsDescription>
</RequiredParameter>
</RequiredParameters>
请给我一些建议,并给我指出一个方向,正如我所说的,我上次编程已经有一段时间了。我的电流输出如下:
Portal1 28577db1-956c-41f6-b775-a278c39e20a1
UserID user_name
UserID位于子节点中,我不想显示子节点使用类更容易:
对于XML中的每个
节点,上面的代码将选择直接子节点(
和
),并构建适当的门户
实例。使用类更容易:
对于XML中的每个
节点,上面的代码将选择直接子节点(
和
),并构建适当的门户
实例。…?只是web应用程序的路径,并不重要。我是说.XML扩展,您是否忘记将其放在示例中,或者类似于您的代码中服务器将xml输出到浏览器,使用我可以访问的XmlTextReader是完美的。如果我替换sPortal=reader.Value代码>带有控制台.WriteLine(reader.value)代码>我将XML输出输入到控制台,然后如果您可以使用reader.ReadContentAsString(),则需要获取节点的innertext,但值也应该有效….?只是web应用程序的路径,不重要。我的意思是.XML扩展名,您是否忘记将其放在示例中,或者类似于您的代码中服务器将xml输出到浏览器,使用我可以访问的XmlTextReader是完美的。如果我替换sPortal=reader.Value代码>带有控制台.WriteLine(reader.value)代码>我将XML输出输入控制台,然后您希望获取节点的innertext(如果是这种情况),您可以使用reader.ReadContentAsString(),但该值也应该有效
class Portal
{
private String portalname;
private String portalid;
public String Portalname
{
get { return portalname; }
set { portalname = value; }
}
public String Portalid
{
get { return portalid; }
set { portalid = value; }
}
}
Portal1 28577db1-956c-41f6-b775-a278c39e20a1
UserID user_name
String URLString = "http://servername:8080/roambi/SourceManager";
XmlTextReader reader = new XmlTextReader(URLString);
XDocument doc = XDocument.Load(reader);
// assuming there's some root-node whose children are Source nodes
var portals = doc.Root
.Elements("Source")
.Select(source => new Portal
{
Portalname = (string) source.Element("Name"),
Portalid = (string) source.Element("Id")
})
.Where(p => p.Portalid != "")
.ToList();