加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
BuyXml.java 1.74 KB
一键复制 编辑 原始数据 按行查看 历史
package homework;
import java.io.File;
import java.io.FileOutputStream;
import java.util.List;
import java.util.Scanner;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class BuyXml {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
SAXReader reader = new SAXReader();
try {
Document doc = reader.read(new File("work\\products.xml"));
Element root = doc.getRootElement();
System.out.println("请输入需要购买的商品号:");
String sch = sc.next();
System.out.println("请输入需要购买商品的数量:");
int im = sc.nextInt();
List<Element> list = doc.selectNodes("/shop/product");
for (Element e : list) {
if ((e.selectSingleNode("itemno").getText()).equals(sch)) {
int ist = Integer.valueOf(e.selectSingleNode("stockcount").getText());
double eprice = Double.valueOf(e.selectSingleNode("price").getText());
if (ist >= im) {
if ((e.attributeValue("discount")).equals("true")) {
System.out.println("应付金额:" + im * eprice * 0.7 + "元");
} else {
System.out.println("应付金额:" + im * eprice + "元");
}
int n = ist - im;
e.selectSingleNode("stockcount").setText(String.valueOf(n));
OutputFormat format = OutputFormat.createCompactFormat();
format.setEncoding("utf-8");
XMLWriter xm = new XMLWriter(new FileOutputStream("products.xml"), format);
xm.write(doc);
xm.close();
return;
}
System.out.println("购买数量超过库存量");
return;
}
}
System.out.println("不存在该编号商品");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化