adoney

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
方法参考了XSLT技术,
与我以前完成了XML文件转其它文件的程序写法,
通过一个中间文件(XML)来定义平文件的各种字段及长度,并且这个中间文件的结构与目标XML文件类似.
期间遇到了一个"截取指定长度的中文字符串"的问题,后来虽然不知就里,但总算解决了.

"截取指定长度的中文字符串"相关知识的链接
http://www.cnblogs.com/xiaohui/archive/2004/10/23/55868.html

public string GetLimitedStr(string aSrcStr,int aLimitedNum)
{
if (aLimitedNum<=0) return aSrcStr;
String TmpStr=RemoveHTMLStr(aSrcStr);
byte[] TmpStrBytes = System.Text.Encoding.GetEncoding("GB2312").GetBytes(TmpStr);
if(TmpStrBytes.Length<=aLimitedNum)
return aSrcStr;
else
{
byte[] LStrBytes=null;
int NeedStrNum=0;
if (TmpStrBytes[aLimitedNum]>127)
{
LStrBytes=new byte[aLimitedNum+1];
NeedStrNum=aLimitedNum+1;
}
else
{
LStrBytes=new byte[aLimitedNum];
NeedStrNum=aLimitedNum;
}
Array.Copy(TmpStrBytes,LStrBytes,NeedStrNum);
return System.Text.Encoding.GetEncoding("GB2312").GetString(LStrBytes);
}


//取字符串长度
  s = "iam方枪枪";
  int len = s.Length;//will output as 6
  byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
  len = sarr.Length;//will output as 3+3*2=9


文件上载上来了
www.cnblogs.com/files/adoney/changed.rar


另外,还是把上次写的XML文件通用转换程序也发上去吧
/Files/adoney/XsltTest.rar
posted on 2006-06-23 19:07  Adoney  阅读(360)  评论(0编辑  收藏  举报