xml节点查询问什么查不到值?

chen1182735418 2012-09-28 05:13:59
xml页面
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
<Article name="aa" >
<a href="Article.aspx?id=44">222</a>
</Article>
</urlset>
调用页面
Model.Article model1 = bll.GetModel("Title=\""+model.Title+"\"");
string xmlPatha = Server.MapPath("../../GoogleSitemaps.xml");
Common.XmlObject.XmlInsertElement(xmlPatha, "//Article", "Article","<a href=Article.aspx?id="+model1.Id+">"+model.Title+"</a>");
方法:
public static void XmlInsertElement(string xmlPath, string MainNode, string Element, string Content)
{
XmlDocument objXmlDoc = new XmlDocument();
objXmlDoc.Load(xmlPath);
XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode);
XmlElement objElement = objXmlDoc.CreateElement(Element);
//objXmlDoc.SelectNodes
objElement.InnerText = Content;
objNode.AppendChild(objElement);
objXmlDoc.Save(xmlPath);
}
为什么我拿到的objNode一直是空值? 高手指教...在线等..
...全文
87 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen1182735418 2012-09-28
  • 打赏
  • 举报
回复
好吧 我二了 可以了 谢谢啊亲
孟子E章 2012-09-28
  • 打赏
  • 举报
回复
nsmgr.AddNamespace("xx", "../../GoogleSitemaps.xml");

这是谁教给你的?
孟子E章 2012-09-28
  • 打赏
  • 举报
回复
你怎么测的啊

XmlDocument objXmlDoc = new XmlDocument();
objXmlDoc.Load(Server.MapPath("~/1.XML"));
XmlNamespaceManager nsmgr = new XmlNamespaceManager(objXmlDoc.NameTable);
nsmgr.AddNamespace("xx", "http://www.google.com/schemas/sitemap/0.84");

XmlNode objNode = objXmlDoc.SelectSingleNode("//xx:Article", nsmgr);
Response.Write(objNode.InnerXml);
chen1182735418 2012-09-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 chen1182735418 的回复:]

public static void XmlInsertElement(string xmlPath, string MainNode, string Element, string Content)
{
XmlDocument objXmlDoc = new XmlDocument();
objXmlDoc.Load(x……
[/Quote]
亲 在线等呢 帮个忙白
chen1182735418 2012-09-28
  • 打赏
  • 举报
回复
public static void XmlInsertElement(string xmlPath, string MainNode, string Element, string Content)
{
XmlDocument objXmlDoc = new XmlDocument();
objXmlDoc.Load(xmlPath);
XmlNamespaceManager nsmgr = new XmlNamespaceManager(objXmlDoc.NameTable);
nsmgr.AddNamespace("xx", "../../GoogleSitemaps.xml");
XmlNode objNode = objXmlDoc.SelectSingleNode("//xx:Article", nsmgr);
XmlElement objElement = objXmlDoc.CreateElement(Element);
//objXmlDoc.SelectNodes
objElement.InnerText = Content;
objNode.AppendChild(objElement);
objXmlDoc.Save(xmlPath);
}
我直接在方法里边写的 还是不行 还是空值 麻烦下 给写下怎么弄 谢谢
孟子E章 2012-09-28
  • 打赏
  • 举报
回复
xml名称空间是xml技术中的一个重要概念,网上很多讲解了,

就跟你写c#代码中的名称空间作用类似
chen1182735418 2012-09-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 net_lover 的回复:]

忘了名称空间吧

XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode,nmr);
[/Quote]
名称空间是什么意思 我是菜鸟 能详细点不?
孟子E章 2012-09-28
  • 打赏
  • 举报
回复
带名称空间的方法

http://msdn.microsoft.com/zh-cn/library/h0hw012b.aspx

XmlNamespaceManager nsmgr = new XmlNamespaceManager(objXmlDoc.NameTable);
nsmgr.AddNamespace("xx", "http://www.google.com/schemas/sitemap/0.84");

XmlNode objNode = objXmlDoc.SelectSingleNode("//xx:Article",nsmgr);
孟子E章 2012-09-28
  • 打赏
  • 举报
回复
忘了名称空间吧

XmlNode objNode = objXmlDoc.SelectSingleNode(MainNode,nmr);
chen1182735418 2012-09-28
  • 打赏
  • 举报
回复
高手大大们 快出现的 帮我解决解决吧

61,655

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧