是否可以编写一个小Java
程序,该程序从我的Web托管站点解析xml文件并更新此文件?或者有更好的替代方法吗?我必须每10分钟用大约10行代码更新文件,所以我不想每次都写出来。
答案 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等,但原则就在那里。