java 根据xml文件修改内容

		// TODO Auto-generated method stub
		Boolean flag = false;
		if(FTPUtil.haveTs(hm.get("filename"))){//判断ftp上是否有视频ts
			FileInputStream in = null;
		    String movie_id =getFileId(provider_mg);//调用山东有限接口InjectOffer()获取
		    System.out.println("getFileId*******mangguo**************:"+movie_id);
		    UpdataResourceDB updataDB = new UpdataResourceDB();
		    Map<String,String> map  =null;
		    if("svod".equals(hm.get("type"))){
		    	System.out.println("视频类型svod****************start");
		    	 map = updataDB.getSeriesId(hm.get("title"));//电视剧父集信息
		    	 System.out.println("视频类型svod****************end");
			}
			SAXReader saxReader = new SAXReader();
			try{
				Document tempDocument = saxReader.read(WriteDataToEachXml.class.getClassLoader().getResourceAsStream("data20170906.xml"));
	
				Element root = tempDocument.getRootElement();
				List<Element> elementList = root.elements();
				Element program = elementList.get(0);
				Element movie = elementList.get(2);
				//program
				List<Element>  program_list = program.elements();
				Element provider = program_list.get(0);
				provider.setText(provider_mg);
				
				Element programID = program_list.get(1);
				String program_id = "";//对多集次的节目作为唯一节目标识进行关联
				if("svod".equals(hm.get("type"))){
					if(null == map.get("guid") || "".equals(map.get("guid"))){
						program_id = getOrderNo();
					}else{
						program_id = map.get("guid");
					}
				}else{
					program_id = getOrderNo();
				}
				programID.setText(program_id);
				
				Element title = program_list.get(2);//节目名称
				if("svod".equals(hm.get("type"))){
					title.setText(map.get("series_title"));
				}else{
					title.setText(hm.get("title"));
				}
				
				Element EpisodeCount = program_list.get(3);//该节目总集次。如果是电影类只有 1 集,该字段设为 1
				if("svod".equals(hm.get("type"))){
					EpisodeCount.setText(map.get("total"));
				}else{
					EpisodeCount.setText("1");
				}
				
				Element title_Sort_Name = program_list.get(4);
				if("vod".equals(hm.get("type"))){
					title_Sort_Name.setText("电影");//视频类型
				}else{
					title_Sort_Name.setText("电视剧");//视频类型
				}
				//movie
				List<Element>  movie_list = movie.elements();
				Element id = movie_list.get(0);
				id.setText(movie_id);
				
				Element episode_id = movie_list.get(1);//集次序号
				String resultNum ="1";
				if("svod".equals(hm.get("type"))){
					String nnum = updataDB.getChapter(hm.get("id"));
					//如果集数是20150611这种期数,转换成集数
					resultNum = nnum;
					if(nnum.length()>4){
						resultNum = updataDB.getVerNum(hm.get("id"), nnum);
					}
				}
				episode_id.setText(resultNum);
				
				Element episode_Name = movie_list.get(2);//节目名称
				episode_Name.setText(hm.get("title"));
				
				Element run_Time = movie_list.get(4);//播放时长,格式为 HH:mm:ss 
				String movie_time = hm.get("movie_time");
				if(movie_time == null || "".equals(movie_time) || "0".equals(movie_time) || "null".equals(movie_time)){
					run_Time.setText("01:59:21");
				}else{
					String time = secToTime(Integer.parseInt(movie_time));
					run_Time.setText(time);
				}
				
				Element content_FileSize = movie_list.get(11);//文件大小( ( 单位 :  字节 )( 整数值) 
				String transcode_size = hm.get("transcode_size");
				if(transcode_size == null || "".equals(transcode_size) || "0".equals(transcode_size)|| "null".equals(transcode_size)){
					content_FileSize.setText("3689034136");
				}else{
					content_FileSize.setText(transcode_size);
				}
				
				Element content = movie_list.get(12);//ts文件路径
				content.setText(hm.get("filename"));
				String desFileName = "data.xml"; 
				if(FTPUtil.haveTs(hm.get("filename"))){//判断ftp上是否有视频ts
					/*
					 * 将movie_id 即 offerId 更新到数据库ott_vod_resource表中的offer_id_shandong
					 */
					OttService ottser = new OttService();
					ottser.updateOfferId(hm.get("resourceId"), movie_id);
					if(FTPUtil.createDirectoryAndMovieTs(movie_id, hm.get("filename"))){//路径创建及ts移动成功
						//在ftp上创建文件夹,判断ts文件是否存在,
						 saveDocument(tempDocument, new File("/home/mgsp/upadd/"+hm.get("resourceId")+"_"+desFileName));//将xml保存到服务器
						in=new FileInputStream(new File("/home/mgsp/upadd/"+hm.get("resourceId")+"_"+desFileName));
					    /* saveDocument(tempDocument, new File("D://home//mgsp//upadd/"+desFileName));//将xml保存到服务器
						in=new FileInputStream(new File("D://home//mgsp//upadd//"+desFileName));*/
						//ftpUrlXML+movie_id+desFileName ==XXXX201305/XXXX2013050108082540
					    FTPUtil.uploadFile("/"+ftpUrlXML+movie_id+"/"+desFileName, in);
						PostToAdiCms postToCms = new PostToAdiCms();
						flag = postToCms.PostToCms(ftpUrlXML+movie_id+"/",hm,map,program_id);
					}
				}
			}catch (Exception e) {
				e.printStackTrace();
				flag = false;
			}finally{
				if(in !=null){
					try {
						in.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
				
			}
		}
		return flag;
	

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Java中的DOM(Document Object Model)来修改XML文件中某个属性的内容。以下是一个示例代码: ```java import java.io.File; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.Element; public class ModifyXML { public static void main(String[] args) { try { File inputFile = new File("input.xml"); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(inputFile); doc.getDocumentElement().normalize(); // 获取要修改元素 Element element = (Element) doc.getElementsByTagName("book").item(0); // 修改属性 element.setAttribute("price", "20.99"); // 保存修改后的内容 TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(new File("output.xml")); transformer.transform(source, result); System.out.println("XML file updated successfully"); } catch (Exception e) { e.printStackTrace(); } } } ``` 在这个示例中,我们首先使用 DocumentBuilder 解析 XML 文件。然后,我们通过 getElementsByTagName 方法获取要修改元素。接下来,我们使用 setAttribute 方法修改属性。最后,我们使用 Transformer 将修改后的内容保存到新的 XML 文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值