[英]Extracting XML data, modifying it and storing in excel file
我是asp.net的新手。 我有一个xml文件,如下所示:
<?xml version="1.0" encoding="iso-8859-1" ?>
<newsitem itemid="10000" id="root" date="1996-08-22" xml:lang="en">
<title>CHINA: China says hopeful on global nuclear test ban.</title>
<headline>China says hopeful on global nuclear test ban.</headline>
<dateline>BEIJING 1996-08-22</dateline>
<text>
<p>China said on Thursday it was hopeful a global nuclear test ban treaty could be approved by the U.N. </p>
<p>"China hopes that the treaty could be open for signature by the end of the year and that there .</p>
</text>
.....continue
xml文件很大,我希望..i必须仅处理每个新闻项的“标题”和“文本”字段中的术语。 另外,我必须计算这些单词的出现频率。
我试图从标题和文本字段中提取文本。 我得到标题字段的数据,但没有得到文本字段的数据。 此外,在标题字段中,我没有获得独特的元素,这些元素正在重复。 请帮我。
我试过的代码是:
string filename = Server.MapPath("demo1.xml");
XmlTextReader reader = new XmlTextReader(filename);
XmlNodeType type;
while (reader.Read())
{
type = reader.NodeType;
if (type == XmlNodeType.Element)
{
if (reader.Name == "text")
{
reader.Read();
TextBox1.Text = reader.Value;
}
if (reader.Name == "title")
{
reader.Read();
ListBox1.Items.Add(reader.Value);
}
}
}
reader.Close();
}
在列表框中,我正在获取数据,但是在文本框中,我没有获取数据。 此外,我需要存储大量的xml数据并计算每个单词的数量。 例如china-2,said-1,并将其存储在excel中。 你能告诉我我应该使用字符串生成器吗?
这应该使您开始:
var xml = XElement.Load(new FileStream(@"C:\TEMP\TEST.xml", FileMode.Open));
var titleElement = xml.Elements("title").SingleOrDefault();
var title = titleElement != null ? titleElement.Value : String.Empty;
var textElement = xml.Elements("text").SingleOrDefault();
var text = textElement != null
? String.Join(String.Empty, textElement.Elements()
.Select(t => t.Value))
: String.Empty;
我以您上面的XML代码段为例。 您可能希望使其适应最终的XML结构,但我认为,采用上述模式,您应该能够使其适应您的需求。
变量title
将是<title>
元素的text
,变量text
将是在<text>
元素中找到的所有元素的串联文本。 这样,您最终得到了String
变量,可以对它们进行标准的文本处理,以实现获取字数等目标。
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.