XML文件到html表(循环)C#
我有以下xml文件,并希望将其解析为带有c#的.aspx表。我已经有了一个带有aspx和cs文件的页面。我尝试过这个,但遇到了一个错误。任何想法。非常感谢。 我还需要让每个节点都有一个指向html锚的链接,如果可能的话,它可以指向该项目XML文件到html表(循环)C#,c#,.net,xml,C#,.net,Xml,我有以下xml文件,并希望将其解析为带有c#的.aspx表。我已经有了一个带有aspx和cs文件的页面。我尝试过这个,但遇到了一个错误。任何想法。非常感谢。 我还需要让每个节点都有一个指向html锚的链接,如果可能的话,它可以指向该项目 XmlDocument Doc = new XmlDocument(); Doc.Load(Server.MapPath("NewsSrc.xml")); XmlElement root = Doc.DocumentElement; XmlNodeList no
XmlDocument Doc = new XmlDocument();
Doc.Load(Server.MapPath("NewsSrc.xml"));
XmlElement root = Doc.DocumentElement;
XmlNodeList nodes = root.SelectNodes("/News");
if (!IsPostBack)
{
Table tbl = new Table();
tbl.ID = "table1";
tbl.BorderWidth = 1;
this.Controls.Add(tbl);
foreach (XmlNode node in nodes)
{
TableRow rw = new TableRow();
TableCell cell = new TableCell();
var element = (XmlElement)node;
var Title = element.Value; //["Title"];
NewsItemTxt.Text = Title; //NewsItemtxt is label;
cell.Controls.Add(NewsItemTxt);
rw.Cells.Add(cell);
tbl.Controls.Add(rw);
}
}
//xml文件是//
<?xml version="1.0" encoding="utf-8" ?>
<!-- Edited by myself -->
<News>
<NewsItem id="1">
<Title> news tile one </Title>
<Summary> this is summary to show ....</Summary>
<Details>details for this news</Details>
</NewsItem>
<NewsItem id="2">
<Title>test title </Title>
<Summary>sm line</Summary>
<Details> no details</Details>
</NewsItem>
</News>
新闻片一
这是要显示的摘要。。。。
这条新闻的细节
考试题目
sm线
没有细节
此答案假设我们讨论的是ASP.NET解决方案:
也许你应该看看。一旦配置好数据源,您就可以绑定到GridView/DataList控件(如果您希望对控件输出进行更细粒度的控制,也可以绑定到Repeater)。在我们知道错误之前,这里有一个秘密: 如果该节点的
NodeType
是“Element”(从文档的简要浏览来看,这可能就是
标记所考虑的),则其值
属性将为空:
您可以使用xmlement.InnerText或xmlement.InnerXml属性
访问元素节点的值
看看这能不能解决问题。再说一次,我的最佳猜测是,我们不知道到底出了什么问题。试试这个,它使用的是System.Xml和System.Xml.Linq,应该可以工作,但我不能保证:
var xmlDoc = XDocument.Load(new XmlTextReader(Server.MapPath("NewsSrc.xml")));
foreach(var descendant in xmlDoc.Descendants("NewsItem"))
{
var title = descendant.Element("Title").Value;
var summary = descendant.Element("Summary").Value;
var details = descendant.Element("Details").Value;
var id = descendant.Attribute("id").Value;
}
我强烈建议在客户端而不是服务器上执行此操作;好的,你已经告诉我们哪条线出错了。错误是什么?检查我的更新答案,这是有效的,你所需要做的就是使用变量标题,描述和细节的方式,你want@SeanThoman当前位置不是我不同意或同意你的观点,而是你的理由是什么?有人能修复我的代码吗。我不想要gridview。谢谢你没有告诉我们你的错误是什么,不,我们不能“只修复你的代码”。非常感谢,这很好。关于如何将html锚定到每个节点/元素的任何想法。例如,有没有一种方法可以调用ID。thanks@Fm3我还添加了如何在我的答案中获得属性值“id”,关于锚定标记,您可以创建一个超链接控件,将所需的url与id值一起添加,并将其插入单元格。还有,既然我的答案有帮助,你应该接受它作为答案。