访问xml文件并使用Java更新它

时间:2012-04-22 07:27:48

标签: java xml parsing

是否可以编写一个小Java程序,该程序从我的Web托管站点解析xml文件并更新此文件?或者有更好的替代方法吗?我必须每10分钟用大约10行代码更新文件,所以我不想每次都写出来。

2 个答案:

答案 0 :(得分:1)

你可以编写一些java程序。顺便说一句,你可以写一个更大的两个:)。 您可以使用您想要的任何语言编写程序。包括Java。 用任何语言编写的程序都可以解析XML。

好吧,现在我们遇到了问题。当你说你想从网站解析XML时,你是什么意思?您的网站是否提供允许下载XML的URL?在这种情况下,您可以下载它(例如使用HTTP GET方法)并进行解析。

下一个问题是如何更新网站上的 。您必须在站点本身提供此类功能(例如,实现能够接收XML并存储它的服务。例如,通过HTTP GET。

完成后,您可以编写真正的小程序,使用HTTP GET下载文件,解析它,创建新程序并使用HTTP POST将其发送回站点。

答案 1 :(得分:0)

我会调查在您的服务器上运行此代码。什么是更新?它是否使用不在您服务器上的数据?您可以使用Java轻松完成此操作,但需要更多详细信息才能获得更好的答案。

好的,如果您的网络托管允许您进行http PUT,您的想法很好,您可以使用GET获取文件,修改它,例如使用DOM,并将其丢回。您可能更喜欢执行更多服务器端脚本并在此处编写更新,例如,它允许您使用关系数据库而不是平面文件。在这种情况下,编写服务器端脚本以接受POST作为建议的其他答案是个好主意。

我在这里给你举了一个例子:http://jcable.users.sourceforge.net/scores.php

此网站上有三个文件:

得分 - 一个更新的文本文件。 scores.php - 显示当前分数的脚本 add.php - 一个更新当前分数的脚本。

scores.php看起来像这样:

<html>
 <body>
  The current score is <?php readfile("scores"); ?>
 </body>
</html>

add.php看起来像这样:

<?php
if(isset($_POST["score"])) {
  $fh = fopen("scores", 'w') or die("can't open file");
  fwrite($fh, $_POST["score"]);
  fclose($fh);
}
else
{
?>
<HTML>
<BODY>
<FORM action="add.php" method="POST">
New Score: <INPUT type="text" name="score"/>
</FORM>
</BODY>
</HTML>
<?php

}     ?&GT;

如果你得到add.php,它会告诉你表格。但如果您的程序将其称为帖子,它将不会打扰。希望这能为您提供一些想法 - 它是我能想到的最简单的Web应用程序,它具有持久的服务器端数据。你可以添加复杂性 - xml或json等,但原则就在那里。