我需要将xml文件的内容打印到某个txt文件中.这是我要打印的xml类型的示例:
<log>
<logentry revision="234">
<author>SOMEGUY</author>
<date>SOME DATE</date>
<paths>
<path>asdf/asdf/adsf/asdf.zip</path>
</path>
<msg>blahblahblah</msg>
</logentry>
</log>
Run Code Online (Sandbox Code Playgroud)
我可以获得我需要的所有信息,除了路径标记...这就是我所做的:
FileWriter fstream = new FileWriter("c:\\work\\output.txt");
BufferedWriter out = new BufferedWriter(fstream);
Document document = (Document) builder.build(xmlFile);
Element rootNode = document.getRootElement();
List list = rootNode.getChildren("logentry");
for (int i=0; i< list.size(); i++) {
Element node = (Element) list.get(i);
out.write("Revision: \n" + node.getAttributeValue("revision") + "\n\n");
out.write("Author: \n" + node.getChildText("author") + "\n\n");
out.write("Date: \n" + node.getChildText("date") + "\n\n");
out.write("Message: \n" + node.getChildText("msg"));
out.write("\n-------------------------------------------------"
+"---------------------------------------------------\n\n");
}
out.close();
Run Code Online (Sandbox Code Playgroud)
那么,我是如何通过该标签获取信息的?
PS如果这是一个愚蠢的问题,请随意将其置于遗忘之中......只要你指引我回答:)
谢谢
所以我有这个:
for $i (0..@parsedText) {
if ($parsedText[$i] =~ /\s{20}<a href/) {
my $eventID = $parsedText[$i];
my $eventLink = $parsedText[$i];
my $event_id_title = $parsedText[$i];
$eventID =~ s/[\s\S]*?id=(\d+).*\n/$1/;
$eventLink =~ s/[\s\S]*?'(.*?)'.*/$1/;
$event_id_title =~ s/\s+<a[\s\S]*?>([^<]*).*\n/$1/;
};
};
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,如果我打印其中任何一个,它将返回原始值,而不是我希望它返回的字符串替换.
谢谢你的帮助
唉,我还有一个问题:
我的任务是阅读网页并从该页面中提取链接(HTML :: TokeParser简单易用).他(我的老板)然后坚持要求我从这些链接中读取并从每个页面中获取一些细节,并将所有这些信息解析为xml文件,以后可以读取.
所以,我可以这样简单地设置它:
#!/usr/bin/perl -w
use strict;
use LWP::Simple;
require HTML::TokeParser;
$|=1; # un buffer
my $base = 'http://www.something_interesting/';
my $path = 'http://www.something_interesting/Default.aspx';
my $rawHTML = get($path); # attempt to d/l the page to mem
my $p = HTML::TokeParser->new(\$rawHTML) || die "Can't open: $!";
open (my $out, "> output.xml") or die;
while (my $token = $p->get_tag("a")) {
my $url = $token->[1]{href} || "-";
if ($url =~ /event\.aspx\?eventid=(\d+)/) {
( my $event_id = $url ) =~ s/event\.aspx\?eventid=(\d+)/$1/;
my $text …Run Code Online (Sandbox Code Playgroud) 我想提出一个图形用户界面,将在文件目录和起始日期,然后找到那个目录和时限相关的SVN日志.获得信息后,我可以解析它并将其存储在xml中.麻烦只是获取日志并从中读取信息.
我有svn客户端,可以使用命令行来检索信息,但我想让我的java程序为我做这个.
有谁知道这样做的方法?如果您有任何我可以帮助您的问题,请与我们联系.