XML 파일에 간단한 CRUD 작업을 수행 할 수있는 간단한 XML 웹 서비스를 제공하고 있습니다.반환 값이 올바르지 않음
private void Delete_Click(object sender, EventArgs e)
{
var student_ID = textBox1.Text.ToString();
Boolean isDeleted = true;
ServiceReference1.StudentWSClient myRef = new ServiceReference1.StudentWSClient();
ServiceReference1.DeleteResponse response = new ServiceReference1.DeleteResponse();
myRef.Delete(student_ID);
if ([email protected] == isDeleted)
{
MessageBox.Show("Student Deleted", "Delete Student", MessageBoxButtons.OK);
textBox1.Text = "";
}
else if([email protected] != isDeleted)
{
MessageBox.Show("Student_ID not found or An error has occured!", "Delete Student", MessageBoxButtons.OK);
}
}
내가 요소가 삭제 된 경우, 다음 적절한 메시지 상자를 표시 확인 할
... 내 반환 값 : 비주얼 스튜디오 내 코드는 여기
@WebMethod(operationName = "Delete")
public boolean Delete(String std_id) throws Exception {
File file = new File("C:/Users/user/Desktop/myStudentInstance/myStudentInstance.xml");
boolean isDeleted = true;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
org.w3c.dom.Document doc = db.parse(file);
NodeList root = doc.getElementsByTagName("Students");
NodeList nList2 = doc.getElementsByTagName("student");
for (int i = 0; i < nList2.getLength(); i++) {
Node nNode = root.item(0);
Node nNode2 = nList2.item(i);
Element eElement2 = (Element) nNode2;
if (eElement2.getElementsByTagName("Student_id").item(0).getTextContent().equals(std_id)) {
isDeleted = true;
nNode.removeChild(nNode2);
} else if (eElement2.getElementsByTagName("Student_id").item(0).getTextContent() != (std_id)) {
isDeleted = false;
}
DOMSource source = new DOMSource(doc);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
StreamResult result = new StreamResult(file);
transformer.transform(source, result);
}
System.out.println(isDeleted);
return isDeleted;
}
: 그리고 여기 내 클라이언트 코드의 삭제 된 것은 TRUE이지만 VS에서 응답을 확인하면 false로 표시되어 "Student_ID를 찾을 수 없거나 오류가 발생했습니다!"라고 표시됩니다. 하지만 요소는 여전히 삭제됩니다! 이유가 뭐예요? 항상 끝에서 처음으로 이동 목록에서 항목을 삭제 할 때마다
감사합니다 =) – lifeTech