before:
<?xml version="1.0" encoding="UTF-8"?>
<DOC>
<AUTHOR>
<FIRSTNAME>Firstname</FIRSTNAME>
<LASTNAME>Lastname</LASTNAME>
</AUTHOR>
<AUTHOR>
<FIRSTNAME>Firstname1</FIRSTNAME>
<LASTNAME>Lastname1</LASTNAME>
</AUTHOR>
<PARAGRAPH>
<LINE N="1">First line.</LINE>
<LINE N="2">Second line.</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE N="3">Third line.</LINE>
<LINE N="4">Fourth line.</LINE>
</PARAGRAPH>
</DOC>
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;
public class SplitXML {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
List<String> data = FileUtils.readLines(new File("d:\\test.xml"));
List<String> authorList = new ArrayList<String>();
List<String> paragraphList = new ArrayList<String>();
String authorS = "<AUTHOR";
String authorE = "</AUTHOR>";
String paragraphS = "<PARAGRAPH";
String paragraphE = "</PARAGRAPH>";
boolean isauthorS = false;
boolean isparagraphS = false;
boolean isauthorE = false;
boolean isparagraphE = false;
for (String line : data) {
boolean ishit = false;
System.out.println(line);
if (line.contains(authorS)) {
isauthorS = true;
} else if (line.contains(authorE)) {
isauthorE = true;
} else if (line.contains(paragraphS)) {
isparagraphS = true;
} else if (line.contains(paragraphE)) {
isparagraphE = true;
}
if(isauthorS||isauthorE){
authorList.add(line);
if(isauthorE){
isauthorS =false;
isauthorE =false;
ishit= true;
}
}else if(isparagraphS||isparagraphE){
paragraphList.add(line);
if(isparagraphE){
isparagraphE =false;
isparagraphS =false;
ishit= true;
}
}
if(!isauthorS&&!isparagraphS&&!isauthorE&&!isparagraphE&&!ishit){
authorList.add(line);
paragraphList.add(line);
}
}
FileUtils.writeLines(new File("d:/paragraphList.txt"), paragraphList);
FileUtils.writeLines(new File("d:/authorList.txt"), authorList);
}
}
after
<?xml version="1.0" encoding="UTF-8"?>
<DOC>
<PARAGRAPH>
<LINE N="1">First line.</LINE>
<LINE N="2">Second line.</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE N="3">Third line.</LINE>
<LINE N="4">Fourth line.</LINE>
</PARAGRAPH>
</DOC>
<?xml version="1.0" encoding="UTF-8"?>
<DOC>
<AUTHOR>
<FIRSTNAME>Firstname</FIRSTNAME>
<LASTNAME>Lastname</LASTNAME>
</AUTHOR>
<AUTHOR>
<FIRSTNAME>Firstname1</FIRSTNAME>
<LASTNAME>Lastname1</LASTNAME>
</AUTHOR>
</DOC>
分享到:
相关推荐
XML Publisher是Oracle提供的一款强大的报表和文档生成工具,它能够帮助用户从各种数据源(如数据库、XML文件等)创建专业级别的报告。在本话题中,我们主要关注的是"XML Publisher报表模板rtf文件",这是一个关键...
```xml <controls:SplitButton x:Name="MySplitButton" Content="点击我"> <controls:SplitButton.DropDownItems> 选项1"/> 选项2"/> 选项3"/> </controls:SplitButton.DropDownItems> </controls:Split...
QStringList parts = item->text(i).split(":"); attr = doc.createAttribute(parts[0]); attr.setValue(parts[1]); element.setAttributeNode(attr); } } for (int i = 0; i < item->childCount(); ++i) ...
在Windows Presentation Foundation(WPF)中,SplitButton是一种特殊的按钮控件,它结合了普通按钮的功能和下拉菜单的功能。这个“wpf 中炫酷的分裂按钮SplitButton Demo”示例将向我们展示如何在WPF应用中创建并...
Dim keyValue() As String = currentNode.Split("=") nodeValues.Add(keyValue(0).Trim(), keyValue(1).Replace("""", "")) End If ElseIf line.StartsWith(") And line.EndsWith(">") Then currentNode = "" ...
描述中没有提供具体信息,但从标签"sql-split2.doc"来看,我们可以推测这可能是一个与SQL相关的话题,尤其是关于在SQL Server 2000中使用OpenXML函数来处理XML数据的方法。 在提供的内容中,我们看到了一个名为`...
该文件格式是XML的一种变体,主要用于存储翻译项目中的源文本、目标文本以及相关的元数据。在处理大型翻译项目时,为了便于管理,往往需要对SDLXLIFF文件进行拆分和合并操作。 "SplitSDLXLIFF.msi" 是一个安装程序...
trace("显示图片描述:", image.name, "描述:", image.name.split(".")[0]); } ``` 以上代码示例演示了如何使用AS3从XML文件加载图片和描述,并构建一个基本的相册。在实际项目中,你可能还需要考虑错误处理、图片...
- **属性和方法**:如`nodeValue`、`splitText()`等。 #### XMLDOM-CDATASection对象 - **表示CDATA段**。 - **属性和方法**:如`appendData()`、`deleteData()`等。 #### XMLDOM-Comment对象 - **表示注释节点**...
可以使用`split()`方法分割标签,或者使用`qname()`方法解析命名空间。 7. **XML序列化与写入** 解析后的数据可以通过`ElementTree`的`write()`方法写回XML文件,或者使用`tostring()`方法转换为字符串形式。 ...
```xml xmlns:controls="clr-namespace:Microsoft.Windows.Controls;assembly=RibbonControlsLibrary"> ... <controls:SplitButton Content="Click me" Command="{Binding MyCommand}"> <controls:SplitButton....
在SQL Server中,"split功能"通常指的是将一个字符串拆分成多个部分,这在处理以特定分隔符分隔的数据时非常有用。SQL Server并没有内置的`SPLIT`函数,但可以通过其他方式来实现这个功能。下面我们将详细介绍如何在...
ip_list = line.strip().split() for ip in ip_list: ip_elem = ET.SubElement(root, 'ip') ip_elem.text = ip tree = ET.ElementTree(root) tree.write(xml_file) # 调用函数 txt_to_xml('ip_addresses.txt...
XML(Extensible Markup Language)则是一种用于存储和传输数据的通用格式,具有良好的可读性和结构化特性。本篇文章将深入探讨如何利用C#来实现文件向XML的转换,从而帮助开发者更好地理解和应用这一技术。 首先,...
源代码可能包括了读取CSV文件(使用`System.IO.File`类或`StreamReader`)、解析数据(可能使用`string.Split`方法)、构建XML结构(通过`System.Xml.Linq.XDocument`类)以及写入XML文件(使用`XDocument.Save`方法...
```xml *"/> *"/> , Converter={StaticResource BoolToVisConverter}}"> <!-- Top panel content here --> , Converter={StaticResource BoolToVisConverter}}"> <!-- Left panel content ...
在C# WPF(Windows Presentation Foundation)开发中,SplitContainer控件是一个强大的工具,它允许用户动态地调整窗口中的两个或多个区域的大小。SplitContainer控件通常用于创建可自定义布局的应用程序,用户可以...
【XSL Split】是一种基于XSL(eXtensible Stylesheet Language)技术的工具,用于将XML文档按照特定规则拆分成多个小文件。在IT领域,处理大量数据时,拆分大文件是常见的需求,XSL Split就是为了解决这个问题而设计...
例如,`String.Split` 和 `String.Replace` 可以用于预处理XML字符串,而 `Regex` 类可以用于更复杂的模式匹配。 6. **示例文件分析**: 在提供的文件列表中,`FriendData.xml` 很可能是包含朋友数据的XML文件。...