首页 新闻 会员 周边 捐助

xml跨二级域名修改问题

0
悬赏园豆:20 [已解决问题] 解决于 2012-06-07 17:28

string xmlFile = @"http://yyyyy.xxxxx.com.cn/xml/XMLshenhe.xml";
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(xmlFile);
            XmlNode node = xmlDoc.SelectSingleNode(@"/shenhe/shenhes/shen");
            node.InnerText = str;//修改为100
            xmlDoc.Save(xmlFile);

就是最后一句 不行啊  报错 后来从网上查了下 说这个方法不能跨域修改

那想问问各位大大 真么修改最好详细点 我有点笨  明天去买核桃

单音节的主页 单音节 | 初学一级 | 园豆:30
提问于:2012-05-30 10:02
< >
分享
最佳答案
0

是在同一台服务器下,那么你就要通过配置,设置目标二级域名站点的站点文件夹,然后将URL的路径信息转换为物理路径后,再使用这个物理路径来执行保存操作。

不过,在保存的时候,要确保你的这个站点对另外一个站点的物理文件夹下的文件有写的权限。

收获园豆:20
无之无 | 大侠五级 |园豆:5095 | 2012-05-30 10:55

有人告诉我 xml 知道地址就可以修改  他说的这个对么?  读写权限是怎么设置的?  帮忙说的详细点哈

单音节 | 园豆:30 (初学一级) | 2012-05-30 10:56

@单音节: 知道地址。。。是对文件路径这个地址,至于直接写URL地址。。。我还真的没弄过。

但你可以实验下,把这个URL地址改成当前站点的,看是否能通过。

关于写权限,就是IIS里配置站点时使用的站点运行用户,让这个用户对另外一个站点的物理文件夹具备写的权限,这个要在OS里操作。

无之无 | 园豆:5095 (大侠五级) | 2012-05-30 11:02
其他回答(5)
0

你这是想修改远程主机里的XML文件?

artwl | 园豆:16736 (专家六级) | 2012-05-30 10:07

不是  在同一个解决方案下面  应该是二级域名吧  我也不是很懂  能实现么?

支持(0) 反对(0) 单音节 | 园豆:30 (初学一级) | 2012-05-30 10:08

@单音节: 那就用相对路径

支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2012-05-30 10:18
0

这个必然要在服务器端去修改,或者是下载到本地修改之后,再上传

sinhbv | 园豆:2579 (老鸟四级) | 2012-05-30 10:09

哦  那用代码怎么实现呢 。。。 应该可以实现吧 。如果行的话 只好把xml放到当前web项目下了

支持(0) 反对(0) 单音节 | 园豆:30 (初学一级) | 2012-05-30 10:10

@单音节: 主要是你加载不是一个本地路径的xml文件,所以你可以在能操作xml的那个项目加一个操作的方法,然后,去调用。

支持(0) 反对(0) sinhbv | 园豆:2579 (老鸟四级) | 2012-05-30 10:26

有人告诉我 xml 知道地址就可以修改  他说的这个对么?  读写权限是怎么设置的?  帮忙说的详细点哈

支持(0) 反对(0) 单音节 | 园豆:30 (初学一级) | 2012-05-30 10:58

嗯嗯  这是个办法   谢谢哈  

支持(0) 反对(0) 单音节 | 园豆:30 (初学一级) | 2012-05-30 10:59

@单音节: 就算能远程改,你这样用IIS的账户去操作,也不一定有这个权限,而且也不可能给你这样的权限,所以还是别直接改了。

支持(0) 反对(0) sinhbv | 园豆:2579 (老鸟四级) | 2012-05-30 11:05
0

xmlDoc.Save()试试  不要参数.

┢┦偉 | 园豆:1240 (小虾三级) | 2012-05-30 10:09

这个绝对不行的 。都无法编译通过  save 里面没有这个方法重载

支持(0) 反对(0) 单音节 | 园豆:30 (初学一级) | 2012-05-30 10:12

@单音节:    哦 弄错了.

支持(0) 反对(0) ┢┦偉 | 园豆:1240 (小虾三级) | 2012-05-30 10:16
0

假设修改XML的是网站A,XML存放在网站B的xml目录下(文件路径为D:\B\xml\XMLshenhe.xml)。

在IIS中为网站A建立一个名为xml的虚拟目录,指向的文件夹路径为D:\B\xml\。

将代码稍作修改即可:

string xmlFile = @"/xml/XMLshenhe.xml";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlFile);
XmlNode node = xmlDoc.SelectSingleNode(@"/shenhe/shenhes/shen");
node.InnerText = str;//修改为100
xmlDoc.Save(xmlFile);
dudu | 园豆:30778 (高人七级) | 2012-05-30 13:27
0

这样做肯定是不行的,你的代码最后实现的就是xmlDoc.Save(“http://yyyyy.xxxxx.com.cn/xml/XMLshenhe.xml”);这样肯定是不被允许的,save方法接受的是一个本地路径,如:C:\Program Files\xml\XMLshenhe.xml,如果域名为yyyyy.xxxxx.com.cn的站点和你当先站点是在同一台服务器上,那就可以直接通过本地路径去修改那个xml文件,如D:\wwwroot\yyyyy.xxxxx.com.cn\XMLshenhe.xml,但是如果不在同一台服务器上,那就只能通过先保存到本地,然后通过tcp发送到yyyyy.xxxxx.com.cn站点所在的服务器了。

psforever | 园豆:461 (菜鸟二级) | 2012-06-01 22:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册