XML读写部分代码,仅供参考!
2007-09-18 09:28
281 查看
XmlDocument doc = new XmlDocument();
doc.Load(GetXmlPath(FilePath));
XmlNodeReader nodereader = new XmlNodeReader(doc);
// XmlNodeList emelis = doc.SelectNodes("../w:p[text()!='']");
XmlNodeList emelis = doc.GetElementsByTagName("w:p");
XmlTextWriter xtw = new XmlTextWriter(XliffPath,System.Text.Encoding.Unicode);
xtw.WriteStartDocument();
xtw.WriteStartElement("TRANSLATEFILE");
xtw.WriteStartElement("INSRUCTION");
xtw.WriteAttributeString("Path", XliffPath);
xtw.WriteAttributeString("Creator", "chenjie"); //获取创建人还需要完善
xtw.WriteAttributeString("Date", System.DateTime.Now.ToShortDateString());
xtw.WriteEndElement();
xtw.WriteStartElement("ARTICLE");
for (int i = 0; i < emelis.Count; i++)
{
xtw.WriteStartElement("Para");
sentence = emelis[i].InnerText.ToString();
int StartPos = 0;
while (StartPos < sentence.Length)
{
if (IsElement == 1)
{
xtw.WriteStartElement("Tu");
xtw.WriteStartElement("Tuv");
xtw.WriteAttributeString("Language", "SourceLanguage");
IsElement = 0;
}
xtw.WriteString(sentence.Substring(StartPos, 1));
if (sentence[StartPos].ToString() == "." || sentence[StartPos].ToString() == ":" || sentence[StartPos].ToString() == "?" || sentence[StartPos].ToString() == "!" || sentence[StartPos].ToString() == "。" || sentence[StartPos].ToString() == ":" || sentence[StartPos].ToString() == "?" || sentence[StartPos].ToString() == "!")
{
IsDivideText idt = new IsDivideText();
if (IsElement == 0 && idt.IsDivideTag(sentence, StartPos))
{
xtw.WriteEndElement();
xtw.WriteStartElement("Tuv");
xtw.WriteAttributeString("Language", "TargetLanguage");
xtw.WriteEndElement();
xtw.WriteEndElement();
IsElement = 1;
}
}
StartPos++;
}
if (IsElement == 0)
{
xtw.WriteEndElement();
xtw.WriteStartElement("Tuv");
xtw.WriteAttributeString("Language", "TargetLanguage");
xtw.WriteEndElement();
xtw.WriteEndElement();
IsElement = 1;
}
xtw.WriteEndElement();
}
xtw.WriteEndElement();
xtw.WriteEndElement();
xtw.WriteEndDocument();
xtw.Flush();
xtw.Close();
doc.Save(GetXmlPath(FilePath));
File.Delete(GetXmlPath(FilePath));
}
catch { }
doc.Load(GetXmlPath(FilePath));
XmlNodeReader nodereader = new XmlNodeReader(doc);
// XmlNodeList emelis = doc.SelectNodes("../w:p[text()!='']");
XmlNodeList emelis = doc.GetElementsByTagName("w:p");
XmlTextWriter xtw = new XmlTextWriter(XliffPath,System.Text.Encoding.Unicode);
xtw.WriteStartDocument();
xtw.WriteStartElement("TRANSLATEFILE");
xtw.WriteStartElement("INSRUCTION");
xtw.WriteAttributeString("Path", XliffPath);
xtw.WriteAttributeString("Creator", "chenjie"); //获取创建人还需要完善
xtw.WriteAttributeString("Date", System.DateTime.Now.ToShortDateString());
xtw.WriteEndElement();
xtw.WriteStartElement("ARTICLE");
for (int i = 0; i < emelis.Count; i++)
{
xtw.WriteStartElement("Para");
sentence = emelis[i].InnerText.ToString();
int StartPos = 0;
while (StartPos < sentence.Length)
{
if (IsElement == 1)
{
xtw.WriteStartElement("Tu");
xtw.WriteStartElement("Tuv");
xtw.WriteAttributeString("Language", "SourceLanguage");
IsElement = 0;
}
xtw.WriteString(sentence.Substring(StartPos, 1));
if (sentence[StartPos].ToString() == "." || sentence[StartPos].ToString() == ":" || sentence[StartPos].ToString() == "?" || sentence[StartPos].ToString() == "!" || sentence[StartPos].ToString() == "。" || sentence[StartPos].ToString() == ":" || sentence[StartPos].ToString() == "?" || sentence[StartPos].ToString() == "!")
{
IsDivideText idt = new IsDivideText();
if (IsElement == 0 && idt.IsDivideTag(sentence, StartPos))
{
xtw.WriteEndElement();
xtw.WriteStartElement("Tuv");
xtw.WriteAttributeString("Language", "TargetLanguage");
xtw.WriteEndElement();
xtw.WriteEndElement();
IsElement = 1;
}
}
StartPos++;
}
if (IsElement == 0)
{
xtw.WriteEndElement();
xtw.WriteStartElement("Tuv");
xtw.WriteAttributeString("Language", "TargetLanguage");
xtw.WriteEndElement();
xtw.WriteEndElement();
IsElement = 1;
}
xtw.WriteEndElement();
}
xtw.WriteEndElement();
xtw.WriteEndElement();
xtw.WriteEndDocument();
xtw.Flush();
xtw.Close();
doc.Save(GetXmlPath(FilePath));
File.Delete(GetXmlPath(FilePath));
}
catch { }
相关文章推荐
- 备忘:一个ibatis项目应用的重要sql-mapping.xml部分代码
- 使用 XML: UML、XMI 和代码生成,第 4 部分
- Android之用HttpURLConnection参数以XML形式封装的部分关键代码
- C#.NET示例读写xml所有节点的代码实现方法和读取xml节点的数据总结
- C# 读写XML(代码分享)
- XML内建预定义实体和统一代码字符集(部分)
- C#中用SYSTEM.XML读写XML说明与代码
- 关于Servlet手动配置web.xml部分代码
- xml中的部分代码:
- C#.NET示例读写xml所有节点的代码实现方法和读取xml节点的数据总结
- 掌握 Ajax,第 3 部分: Ajax 中的高级请求和响应 全面理解 HTTP 的状态代码、就绪状态和 XMLHttpRequest 对象
- Java读写XML代码示例
- C#代码读写XML
- 这是用CSS样式单修饰的XML文档的一小部分代码片断
- 【Unity】(代码分析)unity里利用C# 读写XML
- tinyxml读写xml示例代码
- C# XML读写代码
- xml解析(详细步骤及实例代码作为参考,理论部分请参阅互联网)之 SAXP (更新中)
- 使用 XML: UML、XMI 和代码生成,第 1 部分
- 2048小游戏部分代码,仅供参考哦